- 博客(29)
- 收藏
- 关注
翻译 Volatile与Synchronize
votatile是轻量级同步锁,只能修饰变量,能保证并发的情况下,多个线程间共享变量的可见性,不能用来做同步操作,因为多线程访问votatile不会阻塞synchronize是重量级互斥锁,开销相比votatile大的多,能修饰方法和代码块,能保证可见性和原子性,并发情况下,多个线程在临界区争夺锁资源,出现阻塞java虚拟机有自己的内存模型(Java Memory Model,JMM),JMM可以屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能达到一致的内存访问效果。JM
2020-07-14 13:42:03
197
原创 JDK7中HashMap的解析(未完)
1、HashMap采用的是数据+链表的存储结构2、初始化默认长度为16,每次扩容*2,负载因子默认0.753、扩容核心类void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (Entry<K,V> e : table) {...
2020-04-26 11:51:07
214
原创 IDEA使用遇到的问题
1、右击没有package选项解决:项目右击->Mark Directory As->Source Root2、Pom文件未自动下载依赖包解决:项目右击->setting-> ... ->maven->Importing->勾选Import Maven projects automatically...
2020-01-06 15:32:24
175
原创 String长度
问题需要分两个阶段去看:编译期和运行期编译期:编译期字符串的字面量大小有限制,因为字符串编译后是UTF8Info存储的,大小是2个字节即2^16,但是null占据两个,所以65536-2=65534运行期:创建字符串,内存是分配在堆上,但是有String源码可知public String(char value[], int offset, int count) 最大是Intege...
2020-01-03 11:36:36
674
1
转载 Long相关的比较问题
一、问题描述开发过程中遇到如下问题Long a = 100L;Long b = 100L;System.out.println(a == b);System.out.println(a.equals(b));System.out.println(a == 100);System.out.println(a.equals(100));输出结果:truetruetruef...
2019-11-11 14:34:49
455
转载 Maven项目POM文件错误,提示“Plugin execution not covered by lifecycle configuration”的解决方案
eclipse在其POM文件的一处提示出错如下:Pluginexecutionnotcoveredbylifecycleconfiguration:org.apache.maven.plugins:maven-source-plugin:3.1:compile(execution:default-compile,phase:compile)查阅各种资料,折腾好久,这表示...
2019-06-08 21:43:36
707
原创 Mongodb基础操作语句
1、update格式:db.collection.update(criteria,objNew,upsert,multi)参数说明:criteria:查询条件objNew:update对象和一些更新操作符upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。multi:默认是false,只更新找到的第一条...
2019-04-04 14:16:34
501
转载 Spring五个事务隔离级别和七个事务传播行为
Spring五个事务隔离级别和七个事务传播行为1.脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。2.不可重复读:是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两 次读数据之间,由于第二个事务的修改,那么第一个事务两次读...
2019-04-04 14:15:58
132
转载 Mysql锁机制
概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。MySQL大致可归纳为以下3种锁:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表...
2019-04-04 10:25:45
127
转载 Maven错误:'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing
配置maven compiler的时候加上对应的Servlet版本号即可解决。<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- 与Servlet版...
2019-04-01 14:35:42
6073
原创 javax.servlet.jsp.PageContext cannot be resolved to a type
jsp页面中报错:javax.servlet.jsp.PageContext cannot be resolved to a type缺少jsp-api.jar包,这个包在tomcat中,在java build path中引入该包即可
2019-04-01 14:19:27
263
原创 org.apache.maven.archiver.MavenArchiver.getManifest
导入Maven项目,pom文件报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)解决方案:1、Help——>Install New Soft...
2019-04-01 10:52:00
148
原创 You need to run build with JDK or have tools.jar on the classpath
You need to run build with JDK or have tools.jar on the classpath.If this occures during eclipse build make sureyou run eclipse under JDK as well (com.mysema.maven:apt-maven-plugin:1.1.1:process:de...
2019-04-01 10:43:05
2656
转载 Eclipse安装svn插件的几种方式
Eclipse安装svn插件的几种方式1.在线安装:(1).点击Help-->Install New Software...(2).在弹出的窗口中点击add按钮,输入Name(任意)和Location(插件的URL),点击OK(3).勾选出现的插件内容,一步步安装即可。注:目前在线安装svn的版本只有1.6.x和1.8.x地址分别是:http://su...
2019-03-29 17:15:59
137
原创 springboot配置拦截器和过滤器
过滤器比较简单,通过注解方式进行配置@Component@WebFilter(urlPatterns = "/*",filterName = "loggerFilter")public class LoggerFilter implements Filter { ........} 拦截器则是需要多一步骤,先是需要配置拦截器类@Componentpubl...
2019-01-14 10:32:49
819
原创 eclipse启动报错 could not create the java virtual machine
今天eclipse启动的时候报了如下的错误:1、检查jdk是否安装正确2、检查eclipse.ini总内存配置是否充足(Xms)3、检查是否安装了多个jdk,在eclipse.ini最上面加上-vm C:/Program Files/Java/jdk1.8.0_161/bin/javaw.exe...
2019-01-11 09:49:47
692
转载 logback的介绍
logback的介绍 一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更...
2019-01-08 10:45:00
172
原创 JDK版本引起的svn项目编译报错问题
场景:eclipse从svn上下载项目到本地,编译提示jdk版本问题无法编译解决:1、检查环境变量配置是否是需要的版本 2、检查eclipse的jre配置版本,项目的JDK版本 3、上面两步还不能解决,则检查下eclipse.ini里面vm版本是不是过低...
2018-12-29 16:53:51
248
转载 使用 Nginx + Tomcat 搭建集群负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。(来源:百度百科) 1. 需要的工具 ngi...
2018-12-12 13:42:34
280
转载 J2EE、J2SE、J2ME的区别
JDK、J2EE、J2SE、J2ME的区别你对JDK、J2EE、J2SE、J2ME概念是否了解,这里和大家分享一下JDK、J2EE、J2SE、J2ME的概念以及他们的关系区别,相信本文介绍一定会让你有所收获。JDK,J2EE,J2SE,J2ME的概念区别是什么呢?1.JDK是Javadevelopmenttoolkit,相当于是Java的库函数,是编译,运行java程序的工具包。J2EE是Java
2018-01-02 13:41:21
537
转载 js各类正则表达式(中文、字母、数字、全角)
onpaste="return !/[^\w\u4e00-\u9fa5]/g.test(window.clipboardData.getData('Text'))" ondragenter="return false"/> 再粘贴一些别人写的。1.只能输入数字和英文的: 2.只能输入数字的: 3.只能输入全角的:
2017-06-09 09:51:51
4307
原创 Windows导出mysql表结构到word文档
推荐一个实用的工具DBExportDoc V1.0 For MySQL,直接使用其中的Word文档首先需要安装mysql-connector-odbc,安装完成后,在控制面板\系统和安全\管理工具\数据源(ODBC)中配置数据库信息然后根据文档提示一步步操作即可,如果导出来的是中文乱码,那么在配置ODBC时设置下字符类型,试一试GBK。其中模板说是不能删减,其实适度的删减或者加框或者调
2017-06-02 16:50:34
5997
原创 ObjectMapper相关
ObjectMapper类是jackson的主要类,主要用来实现java类和json对象之间的转换一般来说web项目前后台会通过json对象进行数据之间的交流,会涉及到json格式之间的统一性问题,这个时候一般就会重写ObjectMapper类,进行数据格式统一设置比如对于空值或者时间格式的处理public class ObjectMapping extends ObjectMappe
2016-12-07 09:54:42
1234
转载 <meta>标签用法
http-equivMETA标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME)。★HTTP-EQUIVHTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。常用的HTTP-EQUIV类型有:1、Content-Type和Content-Language (显示字符集的设定)说明:设定页面使用的
2016-06-12 21:59:20
567
原创 List,Map,set,Array简析
List:线性集合,循环可用iterator(),不解释;Map:键—值组,无序(但是子类treeMap是根据KEY排序的)插入方法put(key,value),但是如果插入的Key相同的话,那后者是无法插入的(除非remove(krey)),这个特性导致Map中的全是key值不同的,这样一来我们就可以根据(map.contain(key))这个特性来取异了;其中keySet(
2015-10-18 10:45:26
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人