JAVA
wangzuojia001
只为做一个有想法的编程人员
展开
-
在并发编程中为什么要使用volatile?
解决问题1:使变量可见大家都知道CPU的运算处理速度远高于内存(特殊机器除外)读写速度,这样就导致在访问内存操作时,CPU就要等待主存,从而造成资源的浪费。为了提高CPU性能,就出现了CPU高速缓存。参考图1: 2核处理器封装图1: 2核处理器封装假设主存中有变量x,则线程访问x的顺势是:1.去L1cache中取,若取不到则取跳2,取到返回给CPU;2.去L2cache中取,若取不到则取跳3,取到返回变量x到上一层,上一层并缓存到自己的缓存行;3.去L3cache中取,若取不到则取.原创 2020-07-10 15:18:42 · 287 阅读 · 0 评论 -
分布式调度框架Elastic-Job之SimpleJob类型作业的结构
Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。在这我们说说Elastic-Job-LiteElastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。# 功能列表* 分布式调度协调* 弹性扩容缩容* 失效转移* 错过执行作业重...原创 2019-09-04 11:35:21 · 1179 阅读 · 0 评论 -
线程间通信机制--wait与notify的使用?为什么要放在synchronized代码块内?
关于wait和notify的使用,在此我们使用链表模拟队列Q,使用synchronized用于实现多线程的同步操作,在特定条件下释放线程持有的锁,然后挂起,等待条件满足进行资源竞争.import java.util.LinkedList;import java.util.concurrent.atomic.AtomicInteger;/** * @Author: jaden...原创 2019-05-21 14:21:31 · 977 阅读 · 0 评论 -
从大层次讲java技术学习路线
Java从95年至今经过多年发展,由于各位前辈的不断创新,Java的成熟性已不可置疑;同时也导致java技术琳琅满目。那么在学习Java前我们应该如何选择技术方向呢?目前,哪些技术非常流行呢?另外,小编听到很多人说软件是吃青春饭的,30+混不好就没什么发展前途了,现实真实如此吗?针对以上问题小编从个人理解上梳理一下,意见不同者欢迎讨论。JAVA SE(java基础)java基础就不用说了,...原创 2018-12-26 15:44:38 · 197 阅读 · 0 评论 -
浅谈HashMap的默认值、属性和构造器
定义HashMap基于哈希表的Map实现,以key-value的形式存在,并允许使用 null 值和 null 键。继承AbstractMap,当中实现了Map的重要方法。类定义如下:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable...原创 2018-11-26 10:45:37 · 2425 阅读 · 1 评论 -
登陆成功后7天无操作需再次登陆
实现这种功能方法有很多,前后端都可以实现。本文将从后端(java)实现此功能。大概思路如下:登陆成功后,将当前系统时间+7天timeMillisDB(单位:毫秒)存到DB 在访问每个接口前校验登陆是否过期(使用拦截器进行统一校验)。校验规则:当前系统时间currentTimeMillis-timeMillisDB > 0 ,则过期,返回登录页;否则,更新系统过期时间(当前系统时间+7天...原创 2018-11-19 17:58:05 · 441 阅读 · 0 评论 -
mybatis调用MySQL存储过程
一、建表CREATE TABLE test.t_sequence ( name varchar(50) NOT NULL COMMENT 'sequence名称', currentvalue bigint(20) NOT NULL COMMENT 'sequence当前值', increment int(10) NOT NULL COMMENT 'sequence每次增长原创 2017-01-05 17:14:11 · 519 阅读 · 0 评论 -
利用序列化实现深度克隆
利用序列化实现深度克隆原创 2017-04-01 17:24:40 · 2497 阅读 · 0 评论 -
对象锁synchronized
当多个线程访问同一个实例变量时,往往会出现脏数据。下面举一个例子:原创 2017-01-12 10:30:43 · 281 阅读 · 0 评论 -
枚举类的创建与使用
本周对项目的状态值进行梳理,发现有不合理的地方。顺便将类中的静态常量改写成了枚举类。如下:一、枚举类UnderwritingStatusEnum.java的创建public enum UnderwritingStatusEnum { 核保状态_未提交核保("0"), 核保状态_标准件("1"), 核保状态_非标件("2"), 核保状态_拒保可申诉("3"), ...原创 2019-06-11 17:43:35 · 23135 阅读 · 0 评论 -
使用eclipse创建一个Maven的web project
创建Maven项目原创 2017-01-05 14:32:32 · 436 阅读 · 0 评论 -
Eclipse+jdk1.8+tomcat9.0+maven3.3.9配置环境
1.安装eclipse如果你的eclipse是压缩包,可以找到eclipse.ini文件修改-vm D:\Program Files\Java\jdk1.8.0_112\bin 2.安装jdk并配置环境变量(注意jdk位数要和eclipse位数一致) JAVA_HOME:D:\Program Files\Java\jdk1原创 2017-01-03 17:54:22 · 7499 阅读 · 0 评论 -
String s2 = "abc"; 与 String s3 = new String("abc");原理解析
package testwebapp;public class Test {//大家思考一下输出结果是什么?public static void main(String[] args) {String s1 = "abc"; String s2 = "abc"; String s3 = new String("abc"); System.out.p原创 2017-01-03 17:29:11 · 3090 阅读 · 2 评论 -
Java装箱与拆箱与==符的使用
Integer.valueOf 原理原创 2016-12-28 21:21:58 · 200 阅读 · 0 评论