自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿松的博客

人要奈得住寂寞,才守得住繁华

转载 java运行时获取类的泛型类型

https://my.oschina.net/roadom/blog/1615450

2019-12-18 20:12:03

阅读数 12

评论数 0

转载 mongo判断两个字段的值是否相等

判断俩字段相等: db.xxx.find({"$where":"this.filed1 == this.filed2 ", xxx:"xxx",xxx:"xxx" }) 判断不相等: db.xxx.find(...

2019-11-08 17:16:18

阅读数 219

评论数 0

原创 深度拷贝的终极解决方法

无论什么都可以放到IO流中360°来一圈,这样就不存在地址引用,但是要求数据实体实现了序列化; 比如clone一个map操作: public class TestClone{ public Object deepClone(Object obj){ try{ ...

2019-11-05 17:57:17

阅读数 10

评论数 0

原创 筛选当天范围内的时间

@Log4j2 public class MyTest { private static final String START_TIME = " 23:59:59"; private static final String END_TIME = " 0...

2019-10-31 15:29:53

阅读数 19

评论数 0

原创 poi读取excel数据

利用poi读取excel数据 导入pom文件如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi&l...

2019-10-22 10:14:36

阅读数 12

评论数 0

原创 mysql操作

mysql的四种索引类型:主键索引,唯一索引,辅助索引,全文索引 查看表结构 show table status from mysql WHERE name = 'user_01' 查看表的索引 show index from user_01 创建一个唯一索引,不...

2019-10-12 16:45:14

阅读数 8

评论数 0

原创 解析csv文件

根据前端传来的 MultipartFile 解析 @RestController @RequestMapping("/file") public class FileReader { @PostMapping("/read") public...

2019-10-12 16:29:16

阅读数 26

评论数 0

原创 来自小猪的邮件表白

springboot实现简单的邮件发送和定时任务: @RestController @RequestMapping(value = "/send") public class SendEmailController { @Autowired private ...

2019-10-09 13:49:56

阅读数 49

评论数 0

原创 map的排序

HashMap无序,不考虑。 LinkedHashMap自定义排序: 将Map的Entry数组添加到List中,因为Collections.sort是针对List排序使用的; public class MyTest { @Test public void test() { ...

2019-09-24 14:53:29

阅读数 12

评论数 0

原创 二进制的带符号右移,无符号右移,带符号左移(没有无符号左移)

右移:如果二进制对应十进制数是正,带符号和无符号右移无区别。都是高位补0 如果是负数,先求补码,然后移动:如果带符号右移,最高位(符号位)不动,其他位移动,移出的高位空位补1 然后再求 补得到结果 负数的无符号右移,先求补,高位移动,空位补0,然后再求...

2019-09-24 10:45:49

阅读数 204

评论数 0

原创 springboot使用order注解控制配置文件加载顺序

通过实现ApplicationRunner接口的方式+@Order注解 @Component @Order(2) public class Order1Class implements ApplicationRunner { @Override public void run(...

2019-09-17 14:28:15

阅读数 143

评论数 0

原创 快速排序里层while循环一定要从右边开始?

如果使用递归实现快速排序。涉及到选取基数和两层while循环 如下是选取基数为左边。则里层while循环应该右边先开始 int target = nums[left]; while(start<end){ while(left<right && nums[end...

2019-09-10 10:21:07

阅读数 76

评论数 0

原创 最长递增子序列

类似于前面的导弹发射问题 == 求最长递减子序列 这里的问题 == 最长递增子序列 public int theLongestDecSubOrder(int[] array) { int[] dp = new int[array.length]; A...

2019-08-30 11:45:17

阅读数 65

评论数 0

原创 动态规划拦截导弹问题

类似于最长递减子序列: public int interceptorMissle(int[] missle) { int[] dp = new int[missle.length]; Arrays.fill(dp, 1); int max...

2019-08-30 10:54:35

阅读数 53

评论数 0

原创 拿石头的策略游戏

题目: 你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 策略游戏 胜利的条件 条件 1: 假设...

2019-08-27 18:09:22

阅读数 29

评论数 0

原创 阶乘结果尾数0的数量

题目: 给定一个整数n,返回n! 结果尾数中零的数量。 0 的产生? == 2和5 也就是判断阶乘的数里有多少对 2 和 5 (2个个数肯定大于5的个数) 因此考虑阶乘数的组成里有多少个5 也就是把阶乘里数全部分解成因子形式后还有多少个5 public int trailingZeroe...

2019-08-27 17:56:07

阅读数 16

评论数 0

原创 判断是否是2的幂次方

题目:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 我的解法:那必然是 循环,递归,暴力枚举。。(滑稽.jpg) 神仙解法:满足2的次幂 -- 联想到2进制中满足2的次方的 都是最高位为1 其他位为0 因此 2^n & 2^n-1 == 0 public boo...

2019-08-27 16:40:06

阅读数 22

评论数 0

原创 判断是否是3的幂次方

题目: 给定一个整数,写一个函数来判断它是否是 3的幂次方 循环写法: public boolean isPowerOf3(int n) { if (n == 1) return true; while (n > 3 && n %...

2019-08-27 16:24:46

阅读数 108

评论数 0

原创 判断多少灯泡还亮着

灯泡开关问题: 问题和示例: 我的思路: public class BulbSwitch { public static void main(String[] args) { BulbSwitch bulbSwitch = new BulbSwitch(); ...

2019-08-27 15:31:29

阅读数 19

评论数 0

原创 spring的aop学习

aop:oriented aspect programming 功能:实现登陆拦截 在aop中计算每个方法的执行时间 导入jar包应该选择下面第二个1.9.4的。第一个会有问题。不生效 execution表达式: @PointCut("execution(* jinsong....

2019-08-22 13:46:09

阅读数 29

评论数 0

原创 轻量级应用服务器端口爬坑

买了一个阿里轻量级应用服务器,和之前用的云服务器不太一样。 可能会碰到的问题: 首先想到防火墙。。。发现centos7.3没装防火墙???那还拦截个锤子。 行吧。我给你安装上,再把端口给你开放了。 还是不行。 其中这里应该能想到就是端口问题:因为我ping ip能ping通,但是teln...

2019-08-19 17:07:17

阅读数 69

评论数 0

原创 linux学习笔记~~Two

以长模式查看文件信息: ls -l [root@izuf6av09gzb5t138bkl8pz ~]# ls -l total 4 -rw-r--r-- 1 root root 168 Jul 30 21:13 a.txt -rw-r--r-- :第一个 - 代表这是一个普通文件 r w x...

2019-07-31 19:20:34

阅读数 31

评论数 0

原创 linux学习笔记~~One

黑洞文件:/dev/null >表示重定向 比如 echo "123">/dev/a.txt 表示将数据“123”输出到/dev/a.txt文件中; 如果 echo “123”>/dev/null 表示不显示任何信息 也不往任何文件中输出信息,简称输出到黑...

2019-07-31 18:30:39

阅读数 19

评论数 0

原创 线程池连接数设置多少合适?

PostgreSQL 提供的适用于大多数数据库的公式: 连接数 = 核心数*2 + 有效磁盘数 有效磁盘数 = 0(热点数据全部被缓存) / 1 *实际磁盘数(缓存命中率降低 有效磁盘数接近真实的磁盘数) 适用于机械硬盘 实际的连接池大小还是根据业务,可能会有长事务,短事务,不能只根据公式;...

2019-07-31 16:59:28

阅读数 458

评论数 0

转载 正向反向代理

转自:https://www.jianshu.com/p/ae76c223c6ef 正向代理代理客户端;反向代理代理服务器。

2019-07-30 19:59:30

阅读数 36

评论数 0

原创 java:垃圾~判定&&回收,Stop the World~~!

垃圾回收算法: 引用计数法: 对象头部维护一个count计算引用次数,当为0的时候判断可以作为垃圾清除; 问题:无法区分引用类型,无法解决循环引用(会死锁永远无法garbage collection) 可达性分析算法: 通过gc root向下遍历整个对象引用图,这...

2019-07-30 17:56:26

阅读数 37

评论数 0

原创 java多线程简单练习

使用ReentrantLock或者AtomicInteger实现此处的计数安全; public class ThreadTest { public ReentrantLock lock = new ReentrantLock(); // public AtomicInteger...

2019-07-30 14:17:06

阅读数 41

评论数 0

原创 idea中的maven

maven是常见的项目管理工具,提供了一套完整的构建生命周期的框架: 包括:clean validate compile test package verify install site deploy 其中常用: clean:将target文件删除(其中包括编译生成和test生成以及pack...

2019-07-29 19:43:29

阅读数 18

评论数 0

原创 shell命令

系统 : linux centos7.3 docker中container重命名: docker container rename 原名 改后的名字 展示docker当前运行的镜像 : docker ps 显示docker已安装的镜像: docker images 运行docker中的my...

2019-07-25 14:48:04

阅读数 15

评论数 0

原创 lambda的anyMatch和allMatch

public class TestAnyMatch { @Test public void test() { Person person1 = new Person() {{setName("xiaosong");}}; Pers...

2019-07-24 10:44:04

阅读数 505

评论数 0

原创 redis作缓存可能会出现的问题

缓存穿透:要访问的数据在数据库中不存在,因此也不会被加到缓存中,因此每次访问都要去数据库中查找数据; 解决:将不存在的数据也加到缓存中,设置一个较短的过期时间; 将一些不可能存在的数据提前过滤掉; 缓存雪崩 :缓存中的数据在同一时间段集体过期:可能是缓存服务器宕机...

2019-07-22 19:03:02

阅读数 176

评论数 0

原创 单例模式的五种写法

饿汉模式 懒汉模式 线程安全的懒汉模式 DCL模式 静态内部类实现 /** * @author jinsong.Liang * @Description 单例模式:一个类只有一个实例 并提供一个访问的全局访问点 * @date 2019/7/22 17:12 */ public cla...

2019-07-22 18:02:21

阅读数 20

评论数 0

原创 用 BIO NIO AIO 实现文件读写练习

BIO: 传统的同步阻塞IO NIO: 同步非阻塞IO AIO:异步非阻塞IO 类比烧水:bio一直看着烧开 nio每过一会看一下烧开没有 aio:烧开了烧水壶会响 public class IOReadFile { public static void main(String[] ...

2019-07-22 17:00:49

阅读数 133

评论数 0

原创 lambda分组后获取每组第一条数据

collect(groupingBy(Employee::getRank, Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0)))) import com.google.common.collec...

2019-07-19 17:55:36

阅读数 88

评论数 0

转载 idea2019连接mysql碰到问题

https://blog.csdn.net/swi_0521/article/details/89104748 在连接字符串后面加上?serverTimezone=UTC

2019-07-17 16:32:10

阅读数 39

评论数 0

原创 使用Mockito进行单元测试

常用的单元测试方法:基于DB(真实的情况),基于Mock(模拟的情况) 为什么使用: 创建mock对象并定义其行为来模拟数据对象的提供者以保证测试环境始终相同; 应用的场景: 具体使用:(使用mock做常用的测试) @Log4j2 @RunWith(MockitoJUnitRunner...

2019-07-08 19:11:44

阅读数 42

评论数 0

转载 docker的使用场景和优缺点

https://blog.csdn.net/zhangdekui/article/details/81541519

2019-06-18 21:14:13

阅读数 375

评论数 0

原创 java builder模式构建一个对象

参考:https://www.cnblogs.com/rolayblog/p/10552085.html 问题:基于什么样的场景才去使用这样的模式,带来什么样的好处? 用到的设计模式:构建者模式; 意图:将一个复杂对象的构建和表示分离,更清晰明了; @Data public class H...

2019-06-17 14:50:51

阅读数 119

评论数 0

原创 win10和linux使用navicat报错2059

因为使用的版本是mysql8以上,使用的是新的加密方式,而navicat还是老版本的 通过命令行进入mysql后: win10下应该这样做: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_na...

2019-06-10 14:46:09

阅读数 40

评论数 0

原创 idea的多行处理

从excel拷贝一列数据: 把鼠标指针放在左上角,按住shift+ctrl+alt 拖拽指针到右下角 即可进行多行操作

2019-06-05 19:34:59

阅读数 930

评论数 0

提示
确定要删除当前文章?
取消 删除