- 博客(22)
- 收藏
- 关注
原创 ThreadLocal源码详解
1 ThreadLocal是用来做什么的(用来解决什么问题)ThreadLocal解决了基于类级别的变量定义,每一个线程单独维护自己线程内的变量值;其并不能解决并发问题2 ThreadLocal的使用及简单实现:使用:public class ThreadLocalTest { private final static ThreadLocal<String> threadLocal=new ThreadLocal<>(); private final stat
2021-02-09 15:51:51
227
原创 工厂模式获取指定对象
工厂模式获取指定对象: public final static Map<String, Supplier<Product>> map = new HashMap<>(); static { map.put("loan", Loan::new); map.put("stock", Stock::new); }...
2019-07-31 15:36:00
502
原创 编码优化--参数行为化
model类;public class Apple { private Integer id; private String color; private Integer heavy; public Apple(Integer id, String color, Integer heavy) { this.id = id; th...
2019-07-24 11:05:05
245
转载 Java反射-获取包括子类及其父类在内的所有字段
前言今天Android移动端要加个新功能,所以回归Android程序员的身份.开发的过程中,发现了之前的代码写的有很多问题,真的应该把时间抽出来重构一下了.其中有反射的一个坑,工具类某方法反射获取传入Model的属性值.但是当我把公共属性抽出来做基类的时候,发现获取不到基类的属性值了.原因是使用了getDeclaredFields();分析方法 功能getFields() ...
2019-04-24 14:24:08
4709
原创 使用spring实现简单的注册功能
背景:对应不同业务要加审批流.在执行审批之后对应不同业务要做不同的后置处理,为了方便后置处理动作的编写,赋予了业务代码注册功能伪代码如下:--mp-common包下定义功能接口public interface ApproActionInterface{// 注册方法void register();// 业务方法1void fun1();void fun2();voi...
2019-04-23 14:48:21
951
原创 在Singleton类中解决反序列化重复创建对象的问题
为了使Singleton类变成可序列化的(serializable),仅仅实现Serializable接口是不够的。为了维护Singleton的单例性,你必须给Singleton类提供一个readResolve方法,否则的话,一个序列化的实例,每次反序列化的时候都会产 生一个新的实例。Singleton 也不会例外。如下所示://Singleton with final field...
2019-03-15 14:27:22
481
原创 使用mysql实现数据对比,筛选
将数据导入数据库:一 需对比数据导入数据库 1 无结构数据 1.1字段间按逗号分隔处理到txt文件中 1.2链接数据库将数据导入数据库 mysql -hip地址 -P端口号 -u用户名 -p密码load data local infile "/tmp/XXX.txt" into table 数据库表 FIELDS ...
2018-12-06 10:57:19
1804
原创 redis安装:
redis安装:1 解压2 修改端口vi redis.conf 3 启动服务:./redis-server ../redis.conf & 注意: ../redis.conf 表示指定配置启动 & 表示后台运行 4 配置环境变量 5 ./redis-cli 客户端连接6 远程连接:redis-cli -h 10...
2018-10-30 10:50:49
126
转载 mybatis中使用in存在问题的解决方式
一、简介在SQL语法中如果我们想使用in的话直接可以像如下一样使用:select * from HealthCoupon where useType in ( '4' , '3' )但是如果在MyBatis中的使用in的话,像如下去做的话,肯定会报错: Map<String, Object> selectByUserId(@Param("useType") St...
2018-10-14 14:02:14
5696
原创 从mysql服务器导出数据库表
备份数据表结构mysqldump -hxxx.xxx.xxx.xxx -P1234 -uaaa -pbbb -d asf --skip-lock-tables history > history.sql备份数据表结构+数据mysqldump -hxxx.xxx.xxx.xxx -P1234 -uaaa -pbbb asf --skip-lock-tables histor...
2018-10-09 20:00:28
637
原创 Spring Session和Redis解决分布式Session跨域共享问题
使用Spring Session和Redis解决分布式Session跨域共享问题 现象阐述: 在项目中前后端代码未做分离,在两台实例的情况下服务正常运行偶尔会弹出类似需要重新登录的提示,后台报错信息这是处理器异常 原因并不明显增加机器实例后,在访问前端页面的时候,一直重复访问登录页面,导致页面302,种种迹象表明是登录配置的问题引起的,问题引入:Session不能共享导致...
2018-09-21 17:12:16
6085
转载 spring自定义注解
java注解即是注释了,百度解释:也叫元数据。一种代码级别的说明。 个人理解:就是内容可以被代码理解的注释,一般是一个类。元数据也叫元注解,是放在被定义的一个注解类的前面 ,是对注解一种限制。谈下这两个: @Retention 和 @Target @Retention :用来说明该注解类的生命周期。它有以下三个参数:RetentionPolicy.SOURCE : 注解...
2018-08-16 11:06:05
260
原创 json转为java对象 部分为null的参数不想参与转换怎么办
1.实体上@JsonInclude(Include.NON_NULL) //将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include.Include.ALWAYS 默认 //Include.NON_DEFAULT 属性为默认值不序列化 //Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列...
2018-08-13 11:13:13
4227
原创 使用Java创建指定目录下的文件(目录可能不存在)使用mkdirs递归创建目录
使用Java创建指定目录下的文件(目录可能不存在)使用mkdirs递归创建目录 注意:权限问题,如果没有指定目录的权限则无法创建 /** * 创建目录以及文件 */ public static File creatFile(String filePath, String fileName) { File folder = new File(f...
2018-08-09 15:38:02
2003
原创 使用netty自行实现简单的http服务端开发
了解http服务器工作原理:http客户端和服务器端的交互步骤:1 client想server发送http请求2 server端对http请求进行解析3 server端向client发送http响应4 client对http响应进行解析使用netty自行实现http服务端开发:针对http主要就是接收请求 处理请求 返回响应Netty的api很简单 创建NioEventLoopGroup,创...
2018-04-28 11:25:15
1591
转载 浅谈NIO
NIO与IO的区别首先来讲一下传统的IO和NIO的区别,传统的IO又称BIO,即阻塞式IO,NIO就是非阻塞IO了。还有一种AIO就是异步IO,这里不加阐述了。Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。该线程在此期间不能再干任何事情了。 Java NIO的非阻塞模式,使一个线程
2018-01-10 14:19:20
240
转载 java8新特性:Stream
为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对
2018-01-06 16:12:33
201
原创 Excel批量生成SQL语句,处理大量数据(增,改)
1 使用excel批量做插入sql:1.1 整理好数据 1.2 在D1单元格输入sql (=”insert into table1(name,sex,studentId) values(‘”&A1&”’,’”&B1&”’,’”&C1&”’)”) 然后退拽D1右下角至最后一行 2 使用excel批量更新sql: 使用如上 更新sql:=”update f_lender
2018-01-04 19:23:48
3909
原创 浅谈12306架构
读了几篇有关12306架构设计的博客,在这里做下简单的总结:主要角色:用户 主要功能:查询剩余票数 售票一 分析业务 业务复杂点: 1 库存集中:所有登录的用户访问的都是数据中心的票据数据 2 复杂的业务逻辑:还有很多查询操作,查时间,查座位,查铺位,一个车次不 行,又查另一个车次,其伴随着大量的查询操作,下单的时候需要对数据库操作。另外,关于秒杀,完全可以做成只接
2018-01-04 11:45:15
2855
原创 catalina.out文件查看方式
庞大的catalina.out文件,怎么找到自己想要的日志呢? 1 按时间点查 grep ‘2014-12-17 16:17:20’ catalina.out(缺点 需要知道准确的时间)2 使用sed命令(注意时间点在日志中必须存在,可以先用1 查看时间点)sed -n '/12-28 14:25/,/12-28 14:28/p' catalina.out>> ./catlinakekeair
2017-12-28 15:10:36
7335
转载 解决虚拟机克隆CentOS系统后eth0消失,显示eth1的问题
我们克隆CentOS系统后,执行ifconfig -a命令,发现只有eth1网卡,而eth0网卡消失。但是/etc/sysconfig/network-scripts/目录下只有eth0文件,而eth1的配置文件不存在。下面我们来解决这个问题1 删除 70-persistent-net.rules配置文件rm -rf /etc/udev/rules.d/70-persisten
2017-12-19 15:34:17
1357
原创 在 git bash 里运行 java 命令,打印出的中文显示乱码
问题: 在 git-bash 下执行 java 命令,结果显示如下图在gitbash上方的边框上右击鼠标,从菜单中选择设置options,里面有关于编码的设置,你选个gbk就可以正常显示了(注意:是gbk,utf-8)
2017-12-12 21:55:05
2276
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人