Java并发-1概览

1. 概览

1.1. 讲什么

这门课中的【并发】一词涵盖了在 Java 平台上的

  • 进程
  • 线程
  • 并发
  • 并行
  • 以及Java并发工具、并发问题以及解决方案,同时我也会讲解一些其它领域的并发,与Java做一个对比。

1.2. 为什么需要?

  • 工作中用户没有到并发呀?
  • 如果是应用层的增删改查,那你不需要学校并发编程,但是你想往更高的方向发展,就必须学习并发和多线程的知识。
  • 为了提升自己!!!生活没有岁月静好,只是有人替你负重前行。

1.3. 主要内容

以并发、并行为主线

  • 应用 - 结合实际
  • 原理 - 了然于胸
  • 模式 - 正确姿势

image.png

1.4. 预备知识

  • 线程安全问题,需要你接触过Java web开发、JDBC开发、web服务器、分布式框架是才会遇到
  • 基于JDK8,最好对函数式编程、lambda有一定了解
  • 采用slfj4打印日志,这是最好的实践
  • 采用lombok简化java bean编写
  • 给每个线程起好名字,这也是一项好的实践
  • pom.xml依赖如下:
                 <dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.3</version>
		</dependency>
  • logbook配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration
        xmlns="http://ch.qos.logback/xml/ns/logback"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback logback.xsd">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date{HH:mm:ss} [%t] %logger - %m%n</pattern>
        </encoder>
    </appender>

    <logger name="c" level="debug" additivity="false">
        <appender-ref ref="STDOUT"/>
    </logger>

    <root level="debug">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

猜你喜欢

转载自www.cnblogs.com/teago/p/12898647.html