自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 volatile关键字的作用

一、禁止Java编译器对相关代码重排序和jvm解释运行Java命令执行的重排序。Java编译器代码重排序规则(happens-before原则):顺序性原则:在同一个线程中,书写在前面的操作happen-before后面的操作。锁的原则:同一个锁的unlock操作happen-before此锁的lock操作。volatile的原则:对一个volatile变量的写操作happen-before对此变量的任意操作(当然也包括写操作了)。happen-before的传递性原则:如果A操作 hap...

2020-08-26 18:31:08 119

原创 多线程数据一致问题是谁的锅搞得程序员这么难

半年前时间学了多线程,去年年底把Java并发编程看完了,知道多线程下内存数据不是可靠的,volatile关键字,主线程守护线程,钩子线程等等,始终无法理解为啥是这样的多线程访问下数据就不安全了,加了多线程程序开发和调试难度立马上了一个量级,有的多线程bug重现一下已经是很给面子了,搞得程序员焦头烂额的。网上有好多讲多线程是怎么使用的什么原理但是很少讲一下为什么是这样的,学习多线程的时候也很容易忽略,本人比较爱问为什么所以就又回去看了一眼,总结了一下。 **他是内存硬件和底层CPU架构的锅!** *.

2020-05-20 18:02:23 133

原创 再谈面向对象的理解面向过程与面向对象的通俗理解

前几天跟着腾讯课堂又学了一下面向对象的思想,对此又有了新的一些发现和理解。由此想吧这个想法写下来,因为觉得百度或是别人和我说的都不是特别的透彻,没有达到让一个完全不懂程序的人,去理解面向对象的编程思维。在此想分享一下个人对面向对象的深入理解。在学Java基础的时候就说面向对象编程,之前是面向过程编程,到底什么是面向过程编程,面向过程简单的理解就是一连串的函数组合,传入参数,通过这几个函数组合的操...

2019-04-18 17:49:50 327

原创 Java小白如何理解服务负载均衡动静分离分布式和集群

–学技术不仅仅要学习他了形式还要学习他解决了什么问题,在接触的人和对自己学习的反思发现其实很多时候还是忽略了这个技术主要解决了什么问题。技术或是架构是为了解决问题或是替代现有的技术更好的解决问题的,沿着解决问题这条线就更有兴趣也更加有体会。单体应用在web容器中可以处理的请求是有限的,太多了会造成服务器过载宕机,比如tomcat默认最大连接数是100个,连接太多会降低服务器的性能,影响程序运行速...

2019-04-18 15:15:58 284

原创 单体JAVAWEB项目的基本运行方式以及演进

单体JAVAWEB项目的基本运行方式以及演进javaweb,servlet,jsp,http,web容器,连接池,orm,spring,mvc框架干java开发多年了,自己对Javaweb有了一定的理解,同时像将自己的知识做一下提炼和总结,为一些刚开始做这方面的开发对Javaweb有一个全面和整体的认识,因为再工作中遇到的同事和自己在一开始都对Javaweb是怎么运行的不是很清楚,导致技术的热...

2019-03-11 14:41:06 719

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除