随笔分类 - Java EE
摘要:java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说: 写道 给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。 静态变量:线程非安全。 静态变量即类变量,位于方法区,为
阅读全文
摘要:这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。以下面一段代码为例: 如
阅读全文
摘要:1.原子值 java5开始,提供了一些原子操作的类,如AtomicInteger、AtomicLong等 这些类提供了诸如incrementAndGet这样的原子操作方法。 单数如果想进行复杂操作,则需要使用compareAndSet进行循环处理 在java8中提供了updateAndGet和acc
阅读全文
摘要:Jackson相关: 使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范。 命名不规范时会失去效果。(例如Ename ,Eage 为不规范命名。“nameE”,“ageE”为规范命名)我在此处掉坑半个小时。至于命名规范,大家自己搜索。其实不要太奇葩的命名都是可以得。 如果使用@Jso
阅读全文
摘要:说到Java对象的序列化与反序列化,我们首先想到的应该是Java的Serializable接口,这玩意在两个系统之间的DTO对象里面可能会用到,用于系统之间的数据传输。或者在RPC(远程方法调用)时可能会用到。 但其实若是用于数据传输,xml和json两种数据格式用得更多一些。但是为什么不用XStr
阅读全文
摘要:UML中描述对象和类之间相互关系的方式包括:依赖,关联,聚合,组合,泛化,实现等。 表示关系的强弱:组合>聚合>关联>依赖 相互间关系 聚合是表明对象之间的整体与部分关系的关联,而组合是表明整体与部分之间有相同生命周期关系的聚合。而关联与依赖的关系是,依赖描述了对象之间的调用关系,而关联描述了对象之
阅读全文
摘要:2、// 删除ArrayList中重复元素,保持顺序 3、// 删除ArrayList中重复元素 自己使用: 删除 “0.0”的值 //删除list中 数量为 0值
阅读全文
摘要:获取分组后取某字段最大一条记录方法一:(效率最高) 方法二:(效率次之) 方法三: 方法四:(效率最低)
阅读全文
摘要:本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Fut
阅读全文
摘要:1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java 1 new Thread(new Runnable() { 2 3 @Override 4 public void run() { 5 // TODO Auto-generated method stub
阅读全文
摘要:问题:Comparison method violates its general contract!报错 解决方案 先说如何解决,解决方式有两种。 修改代码 上面代码写的本身就有问题,第4行没有考虑o1 == o2的情况,再者说我们不需要自己去比较,修改为如下代码即可: 不修改代码 那么问题来了。
阅读全文
摘要:一、SQL中的语法 1、drop table 表名称 eg: drop table dbo.Sys_Test 2、truncate table 表名称 eg: truncate table dbo.Sys_Test 3、delete from 表名称 where 列名称 = 值 eg: delete
阅读全文
摘要:ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。 这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。
阅读全文
摘要:Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主
阅读全文
摘要:在电商项目中,最核心的功能之一就是搜索功能,搜索做的好,整个电商平台就是个优秀的平台。一般搜索功能都使用搜索引擎如Lucene、solr、elasticsearch等,虽然这功能比较强大,但是对于一些小公司或者小的电商平台项目有点大材小用了,对于小项目我们可以采用折中的方法,使用ik+MySQL的搜
阅读全文
摘要:1、groovy添加tl表,应用联合主键 2、init_data.xlsx添加初始化数据,如在name上添加多语言:(name:zh_CN,name:en_US) 3、在实体类上添加@MultiLanguage注解,在具体多语言字段上添加@MultiLanguageFiled注解 4、实现相应sql
阅读全文
摘要:联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。 可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补 充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,
阅读全文
摘要:一:在springboot启动类中添加注释 :@EnableTransactionManagement 二:在相应地方加上注解:@Transactional 即可
阅读全文
摘要:一. 深入代码 在创建数字 1 的对象时, 大多数人会使用 new Integer(1), 而使用 Integer.valueOf(1) 可以使用系统缓存,既减少可能的内存占用,也省去了频繁创建对象的开销。 系统默认只缓存 -128~127 之间的整数。下面我们看一下 Integer.valueOf
阅读全文
摘要:今天在项目上遇到一个问题,通过当前service服务要调用到其他service服务的api接口时,可通过EnableFeignClients调用其他服务的api,大概的步骤如下: 1、在springboot的main处加上注解@EnableFeignClients 2、在service层上实现接口,
阅读全文

浙公网安备 33010602011771号