jvm:ObjectMonitor源码 synchronized的使用synchronized关键字是Java中解决并发问题的一种常用方法,也是最简单的一种方法,其作用有三个:(1)互斥性:确保线程互斥的访问同步代码(2)可见性:保证共享变量的修改能够及时可见(3)有序性:有效解决重排序问题,其用法也有三个:修饰实例方法 修饰静态方法 修饰代码块修饰实例方法public class Thread1 implements Runnable{ //共享资源(临界资源) static int i=0; .
设置垃圾回收器 java -XX:+PrintFlagsFinal可以看到1.8默认的是 UseParallelGCParallelGC 默认的是 Parallel Scavenge(新生代)+ Parallel Old(老年代)在JVM中是+XX配置实现的搭配组合:UseSerialGC 表示 “Serial” + "Serial Old"组合UseParNewGC 表示 “ParNew” + “Se...
G1垃圾收集器 G1收集器是一款在server端运行的垃圾收集器,专门针对于拥有多核处理器和大内存的机器,在JDK 7u4版本发行时被正式推出,在JDK9中更被指定为官方GC收集器。它满足高吞吐量的同时满足GC停顿的时间尽可能短。G1收集器专门针对以下应用场景设计可以像CMS收集器一样可以和应用并发运行 压缩空闲的内存碎片,却不需要冗长的GC停顿 对GC停顿可以做更好的预测 不想牺牲大量的吞吐量性能 ...
js 获取不同时区的问题 <!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>根据时区取得时区时间</title> ...
Nginx跨域解释 #指定允许跨域的方法,*代表所有 add_header Access-Control-Allow-Methods *; #预检命令的缓存,如果不缓存每次会发送两次请求 add_header Access-Control-Max-Age 3600; #带cookie请求需要加上这...
spring如何解决循环引用的 https://zhuanlan.zhihu.com/p/84267654https://www.imooc.com/article/34150spring实例化一个Bean的时候: 实例化目标Bean(此时首先放入singletonFacties中) 注入其依赖属性核心:/** Cache of singleton objec...
springmvc 获取request response session的工具方法和国际化处理 RequestContextHolder中的宝藏工具方法RequestAttributes requestAttributes=RequestContextHolder.getRequestAttributes();ServletRequestAttributes servletRequestAttributes=ServletRequestAttributes.class.cast(...
计算机网络(总结) 物理层: 网络设备的机械特性 电器特性 功能特性 过程特性 数据通信的基础知识 数字信号 模拟信号 频分多路复用 时分多路复用数据链路层: 封装成帧 透明封装 无差错接收 点到点线路的数据链路层 PPP 广播信道的数据链路层 CSMA/CD 设备:以太网 集...
Mybatis处理MySQL中的时间问题 1、MySQL中的时间表达1) DATETIME显示格式:yyyy-MM-dd HH:mm:ss时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']2) DATE显示格式:yyyy-MM-dd时间范围:['1000-01-01'到'9999-12-31']3) TIMESTAMP显示格式:yyyy-MM-dd HH:m...
UTC时间和北京时间(Java处理) 1、时间说明 具体时间说明:https://blog.csdn.net/top_code/article/details/50462922 图借鉴上述链接中的内容: UTC时间:是世界标准的时间。 北京时间:UTC+8 东京时间:UTC+92、UTC时间格式有很多,需要辨清自己是属于哪种格式,否则会出错...
支持静态方法中拿到Bean的方法(持续集成的思想) 1、定义一个Adapterpublic class BeanFactoryAdapter { /** * BeanFactory */ private static MyBeanFactory beanFactory; /** * getBean * @param targetClass 要获取的类 * @retur...
ElasticJob+ShardingJDBC的Hello World ElasticJob+ShardingJDBC的Hello World----------------------------------------------------------------------------import com.dangdang.ddframe.job.api.ShardingContext;import com.dangdang.ddframe.job.a...
过滤器(Filter),拦截器(Interceptor)和AOP拦截的区别 1.过滤器过滤器可以拦截到方法的请求和响应(ServletRequest request, ServletResponse response),并对请求响应做出像响应的过滤操作,比如设置字符编码,鉴权操作等2.拦截器拦截器可以方法执行之前(preHandle)和方法执行之后(afterCompletion)进行操作,回调操作(postHandle),可以获取执行的方法的名称,请求(Htt...
TCC-分布式事务 TCC-分布式事务解决方案(国内GitHub优秀方案解决)框架名称 幂等性 嵌套调用 RPC框架支持 默认支持事务日志存储方式 可靠性验证 star数量 Github地址 tcc-transaction 不支持 嵌套调用尝试失败 不耦合RPC框架 DB、redis、zk、file 通过 42...
Mybatis-查询 MyBatis查询 1、一对多查询+一对一查询 <collection property="subResource" javaType="list" select="selectByTAndO" column="{pMenuId=child_pid,userId=userId}" ofType="Entity" > </co...
RabbitMQ 延时消息队列 https://www.cnblogs.com/xiaoxing/p/9250823.html一、简述二、示例demo单个延迟队列 多个延迟队列一、简述延时消息在日常随处可见:1、订单创建10min之后不发起支付,自动取消。2、30min定时推送一次邮件信息。最常用到方式为定时任务轮训,数据量小的时候使用没什么问题 而当有千万甚至上亿的数据量时就会出现数据读取的瓶...