Java基础
文章平均质量分 50
hgc0907
这个作者很懒,什么都没留下…
展开
-
SpringBoot Log4j 配置日志根据LEVEL切分文件
1、SpringBoot项目用的是log4j.properties 配置日志文件。2、加入INFO级别appender为:file。3、配置只输出INFO 级别日志到独立文件配置原创 2021-06-16 19:16:35 · 529 阅读 · 0 评论 -
SQL收集oracle 排序分页 关联update
1、GROUP_CONCAT(d.name ORDER BY d.type) ,分组后拼接内容排序原创 2021-03-09 16:54:49 · 489 阅读 · 0 评论 -
Spring JPA 增加字段执行异常
用Spring jpa Entity里面增加了几个字段,但启动报错,提示column Unable to execute schema management to JDBC target:alter table qps_dictionary add column create_by varchar(10) '创建者'; 这条语句出错。复制语句到客户端执行,mysql果然提示语法错误,后来修改...原创 2018-07-18 16:32:04 · 2405 阅读 · 0 评论 -
从Java多线程可见性谈Happens-Before原则
Happens-Before是一个非常抽象的概念,然而它又是学习Java并发编程不可跨域的部分。本文会先阐述Happens-Before在并发编程中解决的问题——多线程可见性,...转载 2018-06-14 09:09:03 · 1243 阅读 · 1 评论 -
JDK 8 通过Stream 对List,Map操作和互转
Stream的原理和Lambda不在这了展开讨论。仅仅做笔记,方便后面查看,熟能生巧:1、Map数据转换为自定义对象的List,例如把map的key,value分别对应Person对象两个属性: List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey(...原创 2018-06-21 10:44:49 · 81927 阅读 · 2 评论 -
Servlet Filter过滤器实现响应内容修改
1、用filter在处理按业务逻辑后通过HttpServletResponseWrapper,获取响应内容并做修改2、使用HttpServletResponseWrapper造成页面响应慢或者不响应解决办法:response.setContentLength(-1)设置内容长度即可,否则浏览器详情慢或者失败...原创 2018-05-22 15:04:39 · 3548 阅读 · 0 评论 -
volatile的使用场景
volatile的适用场景模式 #1:状态标志也许实现 volatile 变量的规范使用仅仅是使用一个布尔状态标志,用于指示发生了一个重要的一次性事件,例如完成初始化或请求停机。[java] view plain copy volatile boolean shutdownRequested; ... public void shutdown() { shutdownReq...转载 2018-03-23 10:34:02 · 3143 阅读 · 0 评论 -
java 单例模式双重检查和延迟加载
在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。1、第一种单例模式:public class UnsafeLazyInitialization {private static Instance instance;public static In...原创 2018-03-23 10:23:42 · 936 阅读 · 0 评论 -
java 与设计模式学习之策略模式
前言:由业务驱动对设计模式的需求会让学习起来更加深刻。一、策略模式因为业务需要,接入不同的推广商IOS设备积分墙功能,业务流程为,我方提供一个判断IOS设备IDFA是否存在的排重接口,一个点击上报IDFA接口;1、推广商调用排重接口确认该设备在我方还未存在则允许用户做任务2、做任务过程调用点击上报idfa接口,我方记录点击上报的idfa3、当用户下载我方app比启动激活后,由我原创 2017-12-28 08:38:24 · 263 阅读 · 0 评论 -
新下载的eclipse Maven 插件 报错
新下载的eclipse Luna 版,解压后点击Maven 就直接弹窗报错,具体错误信息在工作空间日志文件如下:!ENTRY org.eclipse.equinox.registry 4 1 2016-12-23 08:48:36.106!MESSAGE Unable to create the selected preference page.!STACK 0java.lang.原创 2016-12-23 09:27:02 · 837 阅读 · 0 评论 -
转自美团技术-Java内存访问重排序的研究
什么是重排序请先看这样一段代码1public class PossibleReordering {static int x = 0, y = 0;static int a = 0, b = 0;public static void main(String[] args) throws InterruptedException { Thread one = new Threa转载 2017-08-17 17:13:18 · 565 阅读 · 0 评论 -
摘录
1、面向对象是为了更好的解决需求变化的问题, 然后在变化的点,采用接口去封装。原创 2017-02-22 09:25:21 · 221 阅读 · 0 评论