#### 7.volatile<span style = "color : red">这个关键字为什么不能在方法中使用呢?</span>volatile关键字修饰的变量,具有可见
并行:泡方面面!
加上这段代码!
观察者模式
先运行一下代码,生成.class文件。然后在target文件夹中扎到对应的文件夹,先右键,找到reload for disk然后在javap -c .\xxx.class。就能生成反编译文件
运行->实现编译!
非公平锁,抢夺锁获得锁的几率不公平。
公平锁:
排查死锁:
jps -l
jstack id
expungeStaleEntry方法,能够在找到key为null的Entry然后将其value置为null !
new出来一个对象,如果你没有调用hashCode,它是不会给你记录哈希编码的!
每一个对象都有一个Monitor,Monitor可以和对象一起创建、销毁。
偏向锁:
偏向锁的操作不用直接捅到操作系统,不涉及用户到内核转换,不必要直接升级为最高级!
关闭偏向锁,默认会进入轻量级锁!
偏向锁启动的时候有延时4000ms!偏向锁默认是开启的!
睡眠5秒之后,在不调用对象的hashCode方法的时候,会开启偏向锁,但是调用了hashCode方法后,则不会开启偏向锁!
Java15逐步废弃偏向锁!偏向锁开销成本大!
关闭偏向锁,默认进入轻量级锁!
重锁:有大量的线程参与锁的竞争,冲突性很高!
分布式锁,即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是,分布式系统中竞争共享资源的最小粒度从线程升级成了进程。
在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行。
java的jar包和war包的一些问题:
①为什么我把我的项目打包成jar包或者war包后,自己的程序就不能在自己的电脑上运行了?
搭建网站的问题:
③我该怎么办才能把自己的javaweb项目,成功地部署在云服务器上呢?
还有就是那些开源项目,我是真的什么都看不懂,里面居然有枚举,我只是很熟悉,但是我不知道枚举到底有什么用,还有就是hutool这个工具类,我知道它很重要,但是,我真的没有信心了。