- 博客(52)
- 资源 (1)
- 收藏
- 关注
原创 Spring Boot和Spring Cloud 跨域设置失败
Spring Boot 跨域设置import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.UrlBasedCorsConfigurationSource;im
2020-07-31 10:45:52 408
原创 看看下面的代码,你真的理解了包装类和自动装箱吗?
废话不多说,上代码public class Zms{ public static void main(String[] args) { Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e = 321; I...
2020-04-05 16:31:17 268
原创 Java如何决定对象的生死及对象该如何逃脱?
垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象中哪些还“存活”,哪些已经“死去”。引用的分类Java将引用分为4种:强引用:指在程序代码之中普遍存在的引用赋值,即类似 “Object obj = new Object ()”这种引用关系。无论何种情况下,只要强引用关系存在,垃圾收集器就不会回收调被引用的对象。软引用:用来描述一些还有用,但非必须的对象。只要被软引用关联着...
2020-03-28 14:58:12 227
原创 深入理解JAVA虚拟机- Java内存区域与对象揭秘
此文是对《深入理解JAVA虚拟机》的一点总结,如果想要了解具体细节可以去看原书。运行时数据区域Java虚拟机在执行Java程序的过程中会把内存划分为若干个不同的数据区域。如下图所示:程序计数器程序计数器可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环...
2020-03-14 16:58:56 177
原创 【JAVA书单】-《JAVA多线程核心技术》-第六章 单列模式与多线程
此文是对《JAVA多线程编程核心技术》的一点总结,如果想要了解具体细节可以去看原书。第六章 单列模式与多线程我之前最经常使用的单列:public class MyObject { private volatile static MyObject myObject; private MyObject() {} //使用双检测来解决问题,既保证了不需要同步代码的异步执行...
2020-02-17 14:42:56 131
原创 【JAVA书单】-《JAVA多线程核心技术》-第四章 Lock的使用
此文是对《JAVA多线程编程核心技术》的一点总结,如果想要了解具体细节可以去看原书。第四章 Lock的使用lock和synchronized的区别用法:synchronized:在需要同步的对象中加入此控制,synchronized可以加在方法上,也可以加在特定代码块中,括号中表示需要锁的对象。lock:需要显示指定起始位置和终止位置。一般使用ReentrantLock类做为锁,多个...
2020-02-15 15:27:38 181
原创 【JAVA书单】-《JAVA多线程核心技术》-第三章 线程间通信
此文是对《JAVA多线程编程核心技术》的一点总结,如果想要了解具体细节可以去看原书。第三章 线程间通信使用wait/notify实现线程间的通信方法wait()的作用是使当前执行代码的线程进行等待,wait()方法是Object类的方法,该方法用来将当前线程置入“预执行队列”中,并且在wait()所在的代码行处停止执行,直到接到通知或中断为止。在调用wait()之前,线程必须获得该对象的对...
2020-02-13 16:12:11 163
原创 【JAVA书单】-《JAVA多线程核心技术》-第二章 对象及变量的并发访问
此文是对《JAVA多线程编程核心技术》的一点总结,如果想要了解具体细节可以去看原书。第二章 对象及变量的并发访问synchronized对象监视器为Object时的使用a)、synchorized修饰非静态方法时,synchorinzed获得的锁都是对象锁,而不是把一段代码或方法当作锁,哪个线程先执行synchronized方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能...
2020-02-12 17:00:25 196
原创 【JAVA书单】-《JAVA多线程核心技术》-第一章 多线程技能
此文是对《JAVA多线程编程核心技术》的一点总结,如果想要了解具体细节可以去看原书。第一章 多线程技能线程的启动实现多线程编程的方式主要有两种,一种是继承Thread类,另一种是实现Runnable接口。1.继承Thread类,并且重写run方法。public class MyThread extends Thread { public static void main(Strin...
2020-02-11 17:03:35 157
原创 JAVA8 把类似a=1;b=2;c=3的String类型数据转成map集合
数据源String str = "a=1;b=2;c=3";转换后格式String转换为Map{”a":"1", "b":"2", "c":"3"}实现方法在JAVA8之前我们可以使用以下的方法来实现public static Map<String, Object> transStringToMap(String mapString, String separator...
2020-01-20 17:10:41 3026
原创 一次导入2w行的表格,并通过注解校验字段
背景最近项目中有一个需求,需要一次通过excel导入大量的数据。之前用的easypoi测试需要大约一小时才能完成,这样明显是不行的。深入了解之后,其实只需要将批式处理改为流式处理便可以解决解析慢的问题。综合考虑后选用了easyexcel这个框架。测试2W行的数据从导入到入库大约需要5s,大大加快了速度。 后续增加了HibernateValidator进行校验数据。代码web导入:@R...
2019-11-24 10:07:27 1092
原创 MySQL的for update使用(行级锁)
在默认的MySQL查询操作是不添加锁的。在需要先读再写入的事务里,会出现读的数据被其他事务所更改,从而导致错误。这时可以在select语句后面添加for update达到锁的效果,但是for update默认是锁表的,这样会对性能有损耗,那么要怎样才能解决这个问题呢?直接使用for update事务A查询结果此时事务B查询可以看出此时使用for update会对整表进行锁表操作...
2019-11-09 10:43:20 3589
原创 静态内部类
1、使用场景外部类与内部类有很强的联系,需要通过内部类的方式维持嵌套的可读性。内部类可以单独创建。内部类不依赖于外部类,外部类需要使用内部类,而内部类不需使用外部类(或者不合适持有外部类的强引用)。2、 问题为什么不直接使用两个类,而要使用内部类?1 维持两者之间密切的联系2 保持嵌套可读性@Datapublic class A { private String a; ...
2019-10-20 12:52:20 333
原创 Java对象转换工具类
public class ConvertUtils { private static Logger logger = LoggerFactory.getLogger(ConvertUtils.class); public static <T> T sourceToTarget(Object source, Class<T> target){ ...
2019-10-13 09:43:16 984
原创 GSON的序列化问题-(子类于父类具有相同属性)
背景因为fastjson的安全漏洞问题,项目中不得不将fastjson更换。研究之后决定采用gson做序列化。场景因原序列化代码,用在reids中,重写了序列化方法,报序列化bug之后这也误导了我们一段时间。GSON序列化报错如下:“class XXX declares multiple JSON fields named XXX”,可以看出这是序列化字段时出现了错误,添加 trans...
2019-09-28 11:32:49 4099 3
原创 K8S使用configmap--部署Spring Boot
近期有一个项目需要部署在K8S平台中,且所有的配置不能写在配置文件或者代码之中。在了解K8S的configmap之后,决定使用configmap,来实现这个需求。具体的代码后续补pod中引用myMap第一种是环境变量或参数,configMap更新需要重新加载第二种是文件挂载,更新后很短时间内可以同步更新...
2019-09-21 10:37:59 1765
原创 CollectionUtils.filter方法
CollectionUtils.filter(adUnitIds,adUnitId ->DataTable.of(UnitKeywordIndex.class).match(adUnitId,keywordFeature.getKeywords()));
2019-09-07 11:08:48 4205
原创 K8S删除pod,删除之后马上又新建一个pod
查看所有podkubectl get pods删除podkubectl delete pod <podname>然后再查看所有pod,发现又新建了一个pod.这是因为deployment.yaml文件中定义了副本数量,所以还需要删除副本。查看deploymentkubectl get deployment <name>删除kubectl delete...
2019-08-27 16:35:40 9178 3
原创 K8S必需条件中memory and swap accounting是什么?
memory and swap accounting是什么?memory and swap accounting是 统计Linux内核的内存和交换区为什么需要开启memory and swap?这是docker官方提示的内容Adjust memory and swap accountingWhen users run Docker, they may see these messages...
2019-08-24 11:54:33 5830
原创 poi读取Excel是公式,单元格处理成String
在导入含有公式的表格时,poi把表格的公式打印出来,这显然不是我想要的。if(cell.getCellType() == Cell.CELL_TYPE_FORMULA){ return cell.getCellFormula() ;把上面的代码改成如下 if(cell.getCellType() == Cell.CELL_TYPE_FORMUL...
2019-08-17 23:48:17 2385 4
原创 当前读和快照读
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-08-01 11:35:04 2205
原创 解决webMagic0.7.3 出现javax.net.ssl.SSLException: Received fatal alert: protocol_version的问题
原因不多分析。WebMagic-0.7.3版本默认的HttpClient只会用TLSv1去请求,对于某些只支持TLS1.2的站点(例如 https://juejin.im/) ,就会报错。贴上作者原文: https://github.com/code4craft/webmagic/issues/701如果懒得编译,我这有编译好了的jar包,下载替换原jar就可以使用了。https://pa...
2019-07-25 16:53:46 523 1
原创 mysql-binlog-connector-java无法监听到日志的解决办法 (Trying to restore lost connection to localhost:3306)
本地代码public class BinlogServiceTest { public static void main(String[] args) throws IOException { BinaryLogClient client = new BinaryLogClient( "localhost", ...
2019-07-17 10:44:19 2418 2
原创 windows 开启mysql的binlog日志
一、查看binlog日志是否开启show global variables like ‘log_bin’;如果返回的是 log_bin | OFF 那么就是没有开启,ON 则是已经开启,我这里已经开启了。二、设置binlog开启找到my.ini文件,添加log_bin= 存放binlog日志的位置binlog_format = ROW 设置binl...
2019-07-16 09:27:57 2337
原创 Mysql binlog日志学习(what?作用,格式)
一、binlog是什么Mysql Binlog是二进制格式的日志文件,但是不能把binlog文件等同于OS系统某目录下的具体文件,这是狭隘的。 Binlog是用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用...
2019-07-12 16:07:11 278
原创 ConcurrentHashMap需要注意的点(size和mappingCount方法,并发扩容)
1.size()方法和mappingCount()方法的异同,两者计算是否准确?2.多线程环境下如何进行扩容?
2019-07-06 15:58:57 4297
原创 Mysql优化之GROUP BY语句优化
一、首先看Group By创建临时表的情况,因为有临时表的存在所以索引失效。如果GROUP BY 的列没有索引,产生临时表如果GROUP BY时,SELECT的列不止GROUP BY列一个,并且GROUP BY的列不是主键 ,产生临时表如果GROUP BY的列有索引,ORDER BY的列没索引.产生临时表如果GROUP BY的列和ORDER BY的列不一样,即使都有索引也会产生临时表如...
2019-06-27 14:47:19 8596
原创 Disconf引入的配置为空
最近在项目中自定义了数据源,数据源的各项配置都是从disconf拿到的然后项目启动之后,并不会报空指针异常,项目可以正常启动,但是一直报url为空,操作数据库失败。后面分析,Spring 在项目启动时,初始化了MysqlConfig,但是初始化的bean中属性为空。再找到Disconf类的初始化可以看到,Disconf的初始化说放在初始化bean之后的。原因搞清楚了就开始解决吧~!...
2019-06-21 10:57:57 354
原创 Spring boot启动项目,@Autowired自动引入的对象为空原因总结
最近项目里出现一个错误,在我的service类里自动装载对象为空。这里记录一下可能的原因:1.注解没有扫描到,问题原因可能是springboot启动类没有放到最外层的包的根目录下面2.检查各类是否加了注解,包括@service,@repository 等等;(注意@Autowired放在service实现上,而不是接口类上面。)…总结一下,其实就是该对象没有被Spring 容器管理。比...
2019-06-14 22:15:38 3608
原创 Linux执行sh脚本的方法(不需要权限)
直接使用bash 或sh 来执行bash shell脚本:复制代码 代码如下:cd /data/shellbash hello.sh或复制代码 代码如下:cd /data/shellsh hello.sh
2019-06-05 19:11:22 7482
原创 FastJSON将LIST转JSON之后有反斜杠
如果转成的JSON本身就带反斜杠,则对JSON进行操作。我碰见的问题是 转成的JSON本身不带反斜杠,但是作为key加人JSON时就有了反斜杠。解决方案:(先将LIST转成JSON字符串,再把JSON字符串改成JSON数组)JSONArray invalidParamsJson= JSONArray.parseArray(JSON.toJSONString(invalidParams));...
2019-06-01 09:12:56 4094
原创 java面试题(2019)
1.Redis的数据结构有哪些?怎么使用的?String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合2.jvm的内存是如何划分的,各自的存储什么内容第一块:PC寄存器PC寄存器是用于存储每个线程下一步将执行的JVM指令,如该方法为native的,则PC寄存器中不存储任何信息。第二块:JVM栈JVM栈是线程私有的,每个线程创建的同...
2019-05-23 16:52:31 1895
转载 MySQL两种存储引擎: MyISAM和InnoDB 简单总结
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDB,...
2019-05-23 10:01:49 105
原创 SpringBoot项目运行一段时间后自动关闭的问题
最近自己写的小项目发布到linux上总是运行一段时间后关闭,查看日志:Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@707194ba: startup date [Tue Jun 19 16:39:22 CST 2018]; root ...
2019-05-16 09:39:49 8695
原创 spring boot项目加载不了mapper.xml
项目结构:在pom.xml中添加<build> <resources> <resource> <directory>src/main/java</directory> <includes> ...
2019-05-15 16:50:51 2214
webmagic-core-0.7.3.jar
2019-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人