- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 1.1.6 JVM内存模型详解
目录一、什么是Java内存模型?二、Java内存模型 vs JVM运行时数据区三、了解CPU的指令重排四、可见性问题五、volatile关键字六、线程间操作的定义七、同步的规则定义八、Happens-before先行发生原则九、final 在JVM 中的处理十、Word Tearing 字节处理十一、double 和 long 的特殊处理一、什么是J...
2019-09-18 12:59:17
161
原创 Mybatis自动生成映射文件
有时候,我们想要指定数据库的某张表,生成对应的映射文件、实体类、dao接口;这时候我们可以通过mybatis插件完成。当然,方法有很多,这只是其中之一,仅作为参考,比如Easy Code插件更强大些。准备工作:1、jar包:mybatis-generator-core-oracle-1.3.6.jar2、配置文件:generatorConfig.xml3、以上两项准备完毕,执行.........
2019-08-29 11:44:01
1305
1
原创 1.1.5 线程池原理
为什么要用线程池?线程是不是越多越好? 1、线程在Java中是一个对象,更是操作系统的资源,线程的创建、销毁都需要时间。 如果创建时间+销毁时间>执行任务的时间 就很不划算。2、Java对象占用堆内存,操作系统线程占用系统内存,根据JVM规范,一条线程默认最大栈大小为1M, 这个栈空间是需要从系统内存中分配的。线程过多会消耗很多的内存。3、...
2019-08-27 16:06:24
208
原创 1.1.4 线程封闭
1、线程封闭的概念 多线程访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有时候都要用到共享数据, 所以线程封闭的概念就提出来了。 数据都被封闭在各自的线程之中,就不需要同步;这种通过将数据封闭在线程中而避免使用同步的 技术称为线程封闭。 线程封闭的具体体现有:ThreadLocal、局部变量。2、ThreadLocal...
2019-08-27 14:38:04
136
原创 1.1.3 线程通讯
1、通讯方式 要想实现多个线程之间的协同,如:线程执行的先后顺序、获取某条线程的执行结果等等。 涉及到线程之间的相互通讯,分为如下几类: 1) 文件共享 2) 网络共享 3) 共享变量 4) JDK提供的线程协调API 细分为:suspend()/resume()、wait()/notify(...
2019-08-27 11:34:20
191
原创 1.1.2 线程中止
线程中止:错误的中止:使用线程的stop(),线程stop()方法会强制性中止,破坏线程安全;正确的中止:(1)使用interrupt()方法。 如果目标线程在调用Object类的wait()、wait(long)、或者wait(long,int)方法、join()、join(long,int) 或sl...
2019-08-21 18:03:19
130
原创 1.1.1 线程状态
从线程的源码中,可以发现,线程一共有 6 种状态;6个状态定义:java.lang.Thread.State1、New:尚未启动的线程状态,即刚new出来线程,尚未调用start()方法。2、Runnable:可运行线程的线程状态,等待CPU的调度。3、Blocked:线程阻塞等待监视器锁定的线程状态;比如说线程处于synchronized同步代码块或方法中被阻塞。4、Waiti...
2019-08-13 16:29:35
110
空空如也
springboot 加载dll动态库失败
2023-03-30
SpringServletContainerInitializer 异常,求助。
2017-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人