自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM调优必备理论知识

JVM调优必备理论知识what is garbage?没有引用指向的任何对象都叫做垃圾。比如丢线球,中途没有线拉的球叫做垃圾。java vs c++ ?java: GC处理垃圾,开发效率高,执行效率低。C++:手工处理垃圾,会产生很多问题,忘记回收造成内存泄漏,回收多次等等,它开发效率低,执行效率高。C++比较精确,立马回收。how to find a garage?一般有两种算法,第一种叫reference count引用计数,这个非常简单,有一个引用指向一个对象,在它脑袋上写一个数字,有一个

2021-07-07 15:54:45 337

原创 Java运行时数据区和常用指令

Java运行时数据区和常用指令1. JVM Runtime Data Area and JVM lnstructionsjava的运行时数据区域:1.ProgramCounter简称PC,指的是存放下一条指令位置的这么一个内存区域。每一个虚拟机的线程有它自己的计数器,这个计数器就是记得就是下一个指令在哪儿(PC 程序计数器)2.Heap,还有一块叫heap(堆)。jvm的线程中间共享。3.JVM stacks:里面装的是一个一个的栈帧、frames,这个栈帧方法启动就会有,所以大家记住一个方

2021-07-05 17:03:40 142

原创 内存屏障与JVM指令

内存屏障与JVM指令在硬件层是怎么保证数据的一致性的?MESI协议老的协议就是总线锁,新的协议就是缓存锁(MESI 等等各种协议) + 总线锁,有新的缓存锁这种协议,还需要总线锁吗?肯定需要,有些数据缓存里没装下或者一个缓存装不下,只能锁总线。MESI协议: 更改过标记成m这叫Modifued。如果是读享我标记成Exclusive。如果这个内容我读的时候别人也在读就标记成Sharod。如果说这个内容在我读的时候被别的cpu改过就标记成Inbalid,这时候说明我读的数据已经是无效的了。如何保证特定情

2021-07-05 15:11:52 395

原创 JVM之Class加载过程

JVM入门以及Class文件格式1.java是怎么样从编码到执行的整个的过程,到底什么是 jvm ?我们有一个文件x.java->执行javac->变成x.class,当我们调用Java命令的时候class会被装载到内存叫classLoader。一般的情况下我们写自己类文件的时候也会用到java的类库,所以它要把java类库相关类也装载到内存里,装载完成之后会调用字节码解释器或者是即时编译器来进行解释或编译,编译完之后由执行引擎开始执行,执行引擎下面面对就是操作系统的硬件了。这块的内容叫jv

2021-07-02 10:57:19 167

原创 ^异或运算、&与运算、|或运算

^异或运算:0^0=0;0^1=1;1^0=1; 1^1=0;即:相同为0,不通为1。(0为假,1为真。相同为假,不通为真)&与运算:0&0=0;0&1=0;1&0=0;1&1=1;即:同时为1时结果为1,否则为0。(0为假,1为真。只有两者都为真结果才为真)|或运算:0|0=0;0|1=1;1|0=1;1|1=1;即:同时为0时结果为0,否则为1。(0为假,1为真。有一个为真则结果为真)...

2021-04-08 11:11:36 136

原创 RestTemplate配置、connectTimeout、readTimeout、connectionRequestTimeout,readtime out 读取超时问题

在项目上负责了一部分对外交互接口,随之则选择了RestTemplate这个类来实现各种http请求。 首先写了个RestTemplate的配置类来配置基础配置,代码如下:@Configuration@ConditionalOnClass(value = { RestTemplate.class, HttpClient.class })public class RestTemplateConfiguration { // 连接池的最大连接数默认为8 @...

2021-03-26 14:11:15 13368

原创 枚举类Enum无法直接注入service ApplicationContextAware

在项目中遇到一个问题,某个Enum需要用到某个service,直接@Autowired这个service,代码编译报错。解决办法:从ApplicationContextAware获取ApplicationContext上下文,然后ApplicationContext.getBean(needService.class)。ApplicationContextAware通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationCo.

2021-03-12 14:03:52 2608 1

原创 sql去除某个字段中的某个字符串 replace

今天排查生产问题,发现数据库某张表的一字段存在脏数据,这字段有些数据多了.cn导致一个bug。so,排查之后将源头问题解决了,但是历史数据还未处理掉,直接操作数据库将该字段包含.cn的去掉.cn。sql语句:update 表名 set 需要操作的字段 = replace('需要操作的字段','.cn','') where '需要操作的字段' like '%.cn';当字段类型为text时报对于replace函数的参数无效的错误,这时可以转换下字段类型 REPLACE ( cast('需要操作..

2021-03-12 13:39:34 3052

原创 iaas、paas和saas之间区别

iaas、paas和saas之间有啥区别今天在一个技术群看到了大佬们在讨论这个问题,顺手copy了各位大佬的见解。首先iaas、paas和saas分别什么意思?![套用一张图清晰明了的指出了iaas、paas和saas分别什么意](https://img-blog.csdnimg.cn/2021030417141265.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLm

2021-03-04 17:25:56 402 2

原创 ## 乐观锁实操

乐观锁实操继上篇关于使用@PostConstruct注解提到的乐观锁,讲讲乐观锁的使用方法。在实操前讲讲什么叫做乐观锁、悲观锁。悲观锁:从Java多线程角度,存在着“可见性、原子性、有序性”三个问题,悲观锁就是假设在实际情况中存在着多线程对同一共享的竞争,所以在操作前先占有共享资源(悲观态度)。因此,悲观锁是阻塞,独占的,存在着频繁的线程上下文切换,对资源消耗较大。synchronized就是悲观锁的一种实现。乐观锁:如名一样,每次操作都认为不会发生冲突,尝试执行,并检测结果是否正确。如果正确则执行

2021-03-02 15:26:39 138

原创 ## @PostConstruct注解作用

@PostConstruct注解作用 在公司的一个分布式项目中,做一个定时扫描任务需求时,需要用到乐观锁控制,便用到了@PostConstruct这个注解。 从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,in

2021-03-02 14:10:27 281

原创 用JAVA判断URL是否有效

用JAVA判断一个URL是否有效 需要针对一些URL地址进行检测是否可用,使用java.net 下的类来实现,主要用到了 URL和HttpURLConnection 二个类 ,URL 是统一资源标识符的引用,一个URL实例代表着一个url的引用,开始使用了URL中的的openStream()方法,这样使用倒是可以,但是速度慢,代码如下: try { url = new URL("http://127.0.0.1/sj/user/getUser"); in

2020-10-27 17:20:53 2152 1

原创 ## 解决service循环依赖问题

解决service相互依赖问题:建一个中间类,用中间类得到一个service

2020-06-11 18:39:07 1689

空空如也

空空如也

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

TA关注的人

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