
笔记
SNK9527
这个作者很懒,什么都没留下…
展开
-
深入理解JAVA虚拟机-笔记(一)
垃圾回收算法简单整理:垃圾回收前,先判断对象是否存活:判断对象是否存活的几种算法。引用计数算法:在对象上加一个引用计数器,使用对象的时候计数器加一,引用失效的时候计数器减一。回收的时候清除计数器为0的对象。但是引用计数在运算计数器的时候会消耗内存,占用空间来储存计数器,而且不能回收相互循环调用的对象,Java没有用。java判断对象是否存活-----可达性算法:通过从 GC ROOTS的根节点开始一个个找对象引用。如果某个对象到根节点直接没有任何引用链,那么久说明对象不可能在被使用,是可回收对原创 2021-09-27 16:04:06 · 115 阅读 · 0 评论 -
数据库迁移PG遇到的java.lang.ClassCastException异常
java 类型转换异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error preparing statement. Cause: java.lang.ClassCastException: org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegm原创 2021-08-31 09:47:00 · 2189 阅读 · 0 评论 -
postgresql数据库中current_timestamp(PG数据库获取时间函数)
在操作PG数据库的时候遇到一个问题:保存当前时间使用库内置函数的时候。在Navicat 工具中的 INSERT 语句中这样写:INSERT INTO '表名'( datatimes) VALUES (current_timestamp);是可以正确插入当前时间的,但是在java代码的**Mapper.xml里面这样写就会报错;xml里面正确的写法是:INSERT INTO '表名'( datatimes) VALUES ((select current_timestamp(0)::TIMEST原创 2021-08-26 15:23:39 · 4325 阅读 · 0 评论 -
设计模式代码详解--命令模式
命令模式是一个高内聚的模式,其定义为:Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请 求排队或者记录请求日志,可以提供命令的撤销和恢复功能。)------摘至《设计模式之禅》简单原创 2021-06-29 16:24:33 · 129 阅读 · 0 评论 -
html2canvas.js同步问题采坑指南
上篇文章写道用html2canvas.js工具截图之后遇到个问题:项目上需要在截图后立刻跳转页面,这样就遇到个问题html2canvas方法是异步执行的,在截图还没完成的时候页面进行跳转,失去焦点而无法完成截图,找了半天,发现一个曲线救国的方法。在截图加请求发送成功后再跳转页面。 html2canvas(documentEle.body, { scale: 1 }).then((image)=>{ var url = image.toDataURL();/原创 2021-06-23 10:43:38 · 1025 阅读 · 0 评论 -
springboot集成kafka:A component required a bean of type ‘org.springframework.kafka.core.KafkaTemplate‘
springboot启动异常日志Description:A component required a bean of type ‘org.springframework.kafka.core.KafkaTemplate’ that could not be found.Action:Consider defining a bean of type ‘org.springframework.kafka.core.KafkaTemplate’ in your configuration.原因 :版本s原创 2021-04-25 17:21:49 · 3411 阅读 · 0 评论 -
设计模式代码详解--责任链模式
责任链模式的定义(百度的):顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。简单粗暴上代码,每行代码都有注释:/** * 责任链模式 模拟工厂 * 工厂有3个生产车间 */public abstract原创 2021-04-02 15:04:05 · 124 阅读 · 0 评论 -
设计模式学习--03关系模式(策略模式、模板方法模式、观察者模式、迭代器模式)
设计模式是思想,灵活使用会很大程度上减少开发的难度,拓展框架和程序的时候会很方便1策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口。上代码:/** * 运算接口 */public interface Operation { public int doOperation(int i,int j);}/** * 运算A */pu原创 2021-03-23 15:24:00 · 198 阅读 · 0 评论 -
设计模式学习--02结构模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
设计模式是思想,灵活使用会很大程度上减少开发的难度,拓展框架和程序的时候会很方便23种设计模式中的结构模式有7种:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。下面就来依次分享讲解各种结构模式。1适配器模式适配器模式有点像是转换器,将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。1.1类的适配器模式...原创 2021-03-10 16:29:10 · 224 阅读 · 1 评论 -
浅谈java程序员方向选择(工作5年后)
在外人看来程序员就是修电脑的(反正我老家亲戚是这么看我的!!还有个楼下邻居看我天天背个包上班认为我还在上学!!!)java开发最难的是第一年,找工作其实都不怎么难,面试题背一背就可以了,第一年有个难点是思想的转换,编程思维的培养。推荐可以看看java编程思想。熬过了第一年工作之后在完成需求方面就没什么问题了。就可以愉快的继续深入这一行了,大多数熬不过去的也就转行了。在我看来第一家工作选择的行业很大一部分决定了以后的发展。像我第一家在通讯运营服务商(给移动写软件)然后这几年跳槽也都差不多是这个行业。原创 2021-03-09 09:51:05 · 621 阅读 · 3 评论 -
设计模式学习--01创建模式(工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式)
设计模式是思想,开发的时候没必要生搬硬套!!创建模式分为:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。1.简单工厂模式(不属于23种设计模式)虽然简单工厂模式不属于23种设计模式,但是它是工厂方法模式、抽象工厂模式的基础。要理解这两种模式就要从简单工厂模式开始看起。1.1、普通简单工厂模式先设想一个场景,有一个工厂,工厂下面有两个车间一个生产汽车一个生产摩托车。简单粗暴直接上代码先创建一个车间接口://车间的定义(一个接口,抽象出,车间有一个建造动作)public inter原创 2021-04-02 15:13:33 · 281 阅读 · 0 评论 -
设计模式学习--00设计模式原则
网上看了很多关于设计模式的文章,还是记录一下用自己的理解来个总结。设计模式有六大原则,也就是设计模式的核心思想!总原则,开闭原则:对扩展开发,对修改关闭。简单来说就是尽量写成接口和抽象类,方便继承来修改它,易于维护和升级。每次升级维护的时候新写个类来继承就行。1,单一职责原则就一个类而言,应该仅有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合原创 2021-02-22 10:57:53 · 113 阅读 · 2 评论 -
RestTemplate调用 No instances available for xxx
使用RestTemplate调用第三方系统的时候遇到的坑RestTemplate会走这个类RibbonLoadBalancerClient,用IP访问的时候获取的server是null,就会抛出异常。调用第三方需要使用IP访问的话还是写原生的HTTP请求吧!!!!参考连接...原创 2021-01-19 10:58:45 · 3863 阅读 · 3 评论 -
Stack trace of thread: sun.misc.Unsafe.park(Native Method)错误
IDEA运行springboot 报出启动异常The web application [api-ap-cddy-buss] appears to have started a thread named [lettuce-eventExecutorLoop-1-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:sun.misc.Unsafe.park(Native原创 2021-01-05 16:07:43 · 3485 阅读 · 0 评论