![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
无名后生
程序员界的无名小辈
展开
-
Java各种锁关系简述
Java各种锁关系简述乐观锁和悲观锁是锁的总体实现的思想层面概念:乐观锁:就是乐观思想,即认为读多,每次读取数据不会加锁,只有在更新数据的时候会加锁,再进行更新,常见的实现方式(版本号控制,cas算法,共享锁等)悲观锁:就是悲观思想,即认为写多,每次读写数据前先加锁,再进行读写,常见悲观锁:synchronized和ReentrantLock等独占锁自旋锁:是一种锁竞争机制,比如在悲观锁里...原创 2020-05-02 13:15:13 · 400 阅读 · 0 评论 -
java内存模型
首先要注意Java内存模型与Java运行时数据区域的区别:java内存模型:是一套Java虚拟机规范,是为了屏蔽掉各种硬件和操作系统的内存访问差异,可以让Java程序在各种平台都能达到一致的并发效果。java运行时数据区域:java虚拟机在执行java程序时会把虚拟机所管理的内存区域,划分为若干区域,包括:程序计数器(寄存器),虚拟机栈,本地方法栈,方法区,堆Java内存模型:Ja...原创 2020-04-01 15:37:30 · 184 阅读 · 0 评论 -
RocketMQ整合Spring基础Java实战
启动nameserver命令:nohup sh bin/mqnamesrv &启动broker命令nohup sh bin/mqbroker n localhost : 9876&启动客户端命令java -jar target/rocketmq-console-ng-1.0.0.jar原创 2019-05-08 19:20:38 · 976 阅读 · 0 评论 -
解决Jackson反序列化@JsonFormat 不生效问题
import com.fasterxml.jackson.annotation.JacksonAnnotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang...原创 2019-02-22 19:43:04 · 23042 阅读 · 1 评论 -
java常见面试题整理(持续更新)
1. 面向对象的特征:继承在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。封装在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在...原创 2018-12-18 03:43:20 · 402 阅读 · 0 评论 -
java学习笔记(一)Exception 和 Error
Exception 和 Error 对比比较点Exceptionerror是否继承 Throwable 类是是是否可以捕获是是是否应该被捕获是否正常运行中是否可预料是否是否可以恢复是否注意点:在java中只有继承了 Throwable 的异常才能被抛出活捕获,Error 和 Exception 都继承了此类。常见Er...原创 2018-12-12 01:29:10 · 156 阅读 · 0 评论 -
跨域问题处理
在请求的controller类前加以下注解:@CrossOrigin(origins = "*", maxAge = 3600, methods = {RequestMethod.OPTIONS, RequestMethod.POST, RequestMethod.GET})原创 2018-09-26 15:11:36 · 169 阅读 · 0 评论 -
阿里巴巴开发规约检查
规约文档:阿里巴巴java开发手册.pdf(点击可下载)这个文档是阿里免费公开的,大家不要去csdn找那些需要C币的资源idea插件:Alibaba Java Coding Guidelinesgithub地址:https://github.com/alibaba/p3c插件安装:(最低要求JDK版本1.7)在线安装A: idea安装打开Setting—> Plug...原创 2018-09-04 14:41:03 · 238 阅读 · 0 评论 -
生产者消费者模式
package com.tujia.rba.distribution.service.platform.service.impl;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org.slf4j.Logger;import org.slf4j.LoggerFact...原创 2018-08-31 14:00:39 · 112 阅读 · 0 评论 -
java内存运行时数据区域
目录程序计数器:虚拟机栈:本地方法栈:java堆(GC堆):方法区:java虚拟机在执行java程序时会把虚拟机所管理的内存区域(运行时区域)划分为若干区域,包括:程序计数器(寄存器),虚拟机栈,本地方法栈,方法区,堆。其中线程共享的区域是:本地方法栈和堆内存线程私有的区域是:程序计数器,虚拟机栈和本地方法栈程序计数器:可以看作手当前线程所执行的字节码...原创 2018-07-13 18:45:21 · 205 阅读 · 0 评论 -
Integer 和 int类型的自动拆箱和装箱简介
废话不说,先贴代码大家自测一下:Integer a = new Integer(3);Integer b = 3;int c = 3;System.out.println(a == b);System.out.println(a == c);Integer f1 = 100, f2 = 100;Integer f3 = 200;Integer f4 = 200;System...原创 2018-07-12 14:49:03 · 980 阅读 · 0 评论 -
SpringMVC整合Redis Cluster集群(带密码)
使用maven构建的项目写文章的初衷,大家的文章太多,调理不清楚,这里分步写一下1.添加maven依赖(jar包)redis.clientsjedis2.9.02.redis.properties配置文件(存在在resource文件夹下,自己可以改路径)#redis 配置文件,用来配置下文连接池,不想要这个文件就自己吧值写到bean文件里re原创 2017-01-13 18:39:38 · 7288 阅读 · 5 评论 -
线程池的三种队列区别:SynchronousQueue、LinkedBlockingQueue 和ArrayBlockingQueue
使用方法:private static ExecutorService cachedThreadPool = new ThreadPoolExecutor(4, Runtime.getRuntime().availableProcessors() * 2, 0, TimeUnit.MILLISECONDS, new SynchronousQueue<>(), r -> ne...原创 2018-07-10 11:39:28 · 51512 阅读 · 23 评论 -
学习随笔:springMVC 整合 redisCluster(单节点连接集群)
1.添加依赖<!-- jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>原创 2018-04-11 12:29:34 · 1304 阅读 · 0 评论 -
java多线程处理list数据小工具
java多线程处理list数据小工具1.首先声明一个线程池 private static ExecutorService cachedThreadPool = new ThreadPoolExecutor(COMMON_THREAD_NUM, threadCount, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>...原创 2018-04-11 12:27:58 · 682 阅读 · 0 评论 -
this指针简介
this指针简介系统内部如何区分是哪个对象调用函数方:Objcet a = new Object();Object b = new Object();a.f(1);b.f(2);为了能用简便的、面向对象的语法来书写代码——亦即“将消息发给对象”,编译器为我们完成了一些幕后工作。其中的秘密就是第一个自变量传递给方法 f (),而且那个自变量是准备操作的原创 2017-09-17 22:09:57 · 256 阅读 · 0 评论