自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿松的博客

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

  • 博客(95)
  • 收藏
  • 关注

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

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

2019-12-18 20:12:03 417

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

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

2019-11-08 17:16:18 4355

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

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

2019-11-05 17:57:17 329

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

@Log4j2public class MyTest { private static final String START_TIME = " 23:59:59"; private static final String END_TIME = " 00:00:00"; @Test public void test() throws ParseException...

2019-10-31 15:29:53 275

原创 poi读取excel数据

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

2019-10-22 10:14:36 224

原创 mysql操作

mysql的四种索引类型:主键索引,唯一索引,辅助索引,全文索引查看表结构show table status from mysql WHERE name = 'user_01'查看表的索引show index from user_01创建一个唯一索引,不能有重复的值,有重复的值会失败create unique index indexName on user_01(id...

2019-10-12 16:45:14 98

原创 解析csv文件

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

2019-10-12 16:29:16 528

原创 来自小猪的邮件表白

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

2019-10-09 13:49:56 443

原创 map的排序

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

2019-09-24 14:53:29 214

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

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

2019-09-24 10:45:49 2031

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

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

2019-09-17 14:28:15 1197

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

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

2019-09-10 10:21:07 623

原创 最长递增子序列

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

2019-08-30 11:45:17 190

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

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

2019-08-30 10:54:35 259

原创 拿石头的策略游戏

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

2019-08-27 18:09:22 759

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

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

2019-08-27 17:56:07 257

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

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

2019-08-27 16:40:06 528

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

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

2019-08-27 16:24:46 4490

原创 判断多少灯泡还亮着

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

2019-08-27 15:31:29 153

原创 spring的aop学习

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

2019-08-22 13:46:09 116

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

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

2019-08-19 17:07:17 550

原创 linux学习笔记~~Two

以长模式查看文件信息: ls -l[root@izuf6av09gzb5t138bkl8pz ~]# ls -ltotal 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 117

原创 linux学习笔记~~One

黑洞文件:/dev/null>表示重定向 比如 echo "123">/dev/a.txt 表示将数据“123”输出到/dev/a.txt文件中;如果 echo “123”>/dev/null 表示不显示任何信息 也不往任何文件中输出信息,简称输出到黑洞里;&表示等同于 1 代表stdout标准输出 2代表 stderr输出所以 1>/dev/nul...

2019-07-31 18:30:39 90

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

PostgreSQL 提供的适用于大多数数据库的公式:连接数 = 核心数*2 + 有效磁盘数有效磁盘数 = 0(热点数据全部被缓存) / 1 *实际磁盘数(缓存命中率降低 有效磁盘数接近真实的磁盘数)适用于机械硬盘 实际的连接池大小还是根据业务,可能会有长事务,短事务,不能只根据公式;在一核cpu上运行一个线程顺序执行AB,和开启俩个线程并发执行AB哪个更快? ...

2019-07-31 16:59:28 3004 1

转载 正向反向代理

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

2019-07-30 19:59:30 110

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

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

2019-07-30 17:56:26 417

原创 java多线程简单练习

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

2019-07-30 14:17:06 242

原创 idea中的maven

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

2019-07-29 19:43:29 252

原创 shell命令

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

2019-07-25 14:48:04 84

原创 lambda的anyMatch和allMatch

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

2019-07-24 10:44:04 5750

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

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

2019-07-22 19:03:02 605

原创 单例模式的五种写法

饿汉模式 懒汉模式 线程安全的懒汉模式 DCL模式 静态内部类实现/** * @author jinsong.Liang * @Description 单例模式:一个类只有一个实例 并提供一个访问的全局访问点 * @date 2019/7/22 17:12 */public class SingletonTest { // 饿汉模式 类加载阶段就初始化 不存在线程...

2019-07-22 18:02:21 108

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

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

2019-07-22 17:00:49 653

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

collect(groupingBy(Employee::getRank, Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))))import com.google.common.collect.Lists;import java.util.ArrayList;import java....

2019-07-19 17:55:36 10455 1

转载 idea2019连接mysql碰到问题

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

2019-07-17 16:32:10 280

原创 使用Mockito进行单元测试

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

2019-07-08 19:11:44 494

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

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

2019-06-18 21:14:13 1227

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

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

2019-06-17 14:50:51 834

原创 win10和linux使用navicat报错2059

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

2019-06-10 14:46:09 184

原创 idea的多行处理

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

2019-06-05 19:34:59 5800

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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