- 博客(27)
- 收藏
- 关注
原创 Stream 流的基本概念以及常见应用
流是一种指定的计算视图。流遵循“做什么而非怎么做”的原则,它比循环更易于阅读。可以让你以一种声明的方式处理数据。
2022-06-16 09:35:25
406
1
原创 H2-Table CATALOGS not found
在使用 IntelliJ IDEA 2021.1.3 版本,使用默认配置连接 H2 数据库的时候,出现下面错误,项目里 H2 使用的版本为 2.0.202 。出现这个错误,是因为 INFORMATION_SCHEMA 有新旧两套实现。解决办法就是在 JDBC URL 后面拼接参数:;OLD_INFORMATION_SCHEMA=TRUE例如:jdbc:h2:file:./db/JaxBlog;OLD_INFORMATION_SCHEMA=TRUEH2-Table CATALOGS not found...
2022-06-12 21:31:27
1321
原创 CSS 网页字体最佳实践
一般在网页的字体设置中,可以将字体分类三类:系统字体:使用系统自带的字体兜底字体:当系统字体无法正常使用,而兜底的字体Emoji 字体:显示网页中的表情字体。为了满足不同平台,以及 Emoji 更好的显示效果(不会被前面的系统字体或兜底字体覆盖),建议使用下面代码配置网页字体。......
2022-06-12 21:21:50
730
原创 TypeScript 简介
Typed JavaScript at Any Scale.添加了类型系统的 JavaScript,适用于任何规模的项目。特性它没有类型约束,一个变量可能初始化时是字符串,过一会儿又被赋值为数字。由于隐式类型转换的存在,有的变量的类型很难在运行前就确定。基于原型的面向对象编程,使得原型上的属性或方法可以在运行时被修改。函数是 JavaScript 中的一等公民,可以赋值给变量,也可以当作参数或返回值。静态类型TypeScript 语言是静态类型,意思是:编译阶段就能确定每个变量的类.
2022-06-12 21:12:09
137
原创 分布式事务解决方案 -- TCC 笔记
TCC 一种成熟的分布式事务解决方案,可用于解决跨库操作的数据一致性问题。TCC 是 Try - Confirm - Cancel 缩写,TCC 事务与传统的数据库事务不同,它存在于业务层面,由系统业务逻辑(事务管理器),进行事务控制。TCC 将原业务服务,拆分为了三个操作。可将这三个操作,对应想象成三个方法,每个方法里有不同的业务代码。Try:检查预留资源Confirm:业务执行C...
2021-08-13 09:46:00
29
原创 TypeScript 基础类型
TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了枚举类型。布尔值(boolean)let isDone: boolean = false;也可这样写let isDone: boolean = Boolean(1)但是需要注意,一下写法返回的是 Boolean 对象,非 boolean 类型let isDone: Boolean = new Boo...
2021-08-10 10:29:00
28
原创 Synchronized 底层实现
Synchronized 底层实现涉及到锁升级的概念。由偏向锁,升级为轻量锁(自旋锁/适应性自旋锁),再升级为重量级锁。Synchronized 的底层实现与用的是什么版本的 HotSpot 有关,这里以 OpenJdk 1.8 为例。偏向锁如果当前 Synchronized 修饰的代码,只有一个线程去访问,那此时线程去加锁/释放锁,显然时没有必要,这只会造成资源浪费。于是引入了偏向锁。在 Synchronized 加锁的对象的对象头,MarnWord 记录下当前线程的 ID,持有偏向锁的线程,每
2021-07-24 16:07:58
84
原创 Synchronized 用法总结
Synchronized 是 Java 多线程编程中常用关键字。Synchronized 是防止线程干扰和内存一致性的简单策略。Synchronized 关键字用法类对象:类名.class 创建的对象。对类对象上锁,可以叫做类锁实例对象:当前类,通过构造方法创建的实例对象。对实例对象上锁,可以叫做实例锁(对象锁)Synchronized 是一种同步锁,也是可重入锁。在不同地方使用 Synchronized 都会获取一把锁,但这把锁是谁的呢?修饰普通方法锁的是当前实例对象——实例锁publ
2021-07-24 16:07:24
82
原创 Java11新特性笔记
Java11 是甲骨文于2018年9月发布,是在 8 以后发布的第一个长期支持的的版本。StringString作为一个常用的类,在11里面增加一些新的方法lines()此方法返回 Stream,作用是将一串文字,以换行符分隔并返回行流支持的换行符有:\n 、\r、\ r \ n 正好对应不同操作系统里的换行符public static void main(String[] args) { String str = "第一行 \n第二行 \r第三行\r\n第四行\t不换行"; s
2021-03-22 17:28:15
130
原创 Hexo部署在服务器上
Hexo 是一款基于Node.js静态博客系统,使用Markdown语法编写文章,在使用Hexo支持的命令,将md文件编译成静态网页,同时支持静态网页自动部署。类似的软件还有Jekyll、纸小墨……不过,我个人还是比较喜欢选择Hexo做我的博客系统。选择Web服务器软件Web服务器软件是一种用户接受用户请求,处理请求,最后做出响应的软件,当我们按照好这类软件之后,就可以部署我们的Web项目...
2020-03-18 09:39:30
1107
原创 [WebMagic]Https下无法抓取只支持TLS1.2的站点
我按照官网的步骤,部署好了Maven,复制了他的示例代码,运行直接报错;报错的原因是因为 WebMagic默认的HttpClient只会用TLSv1去请求,对于某些只支持TLS1.2的站点 ,而官网抓取GitHub正好是TLS1.2的站点………关于这个问题的解决思路,这个框架的作者已经给出了临时解决方案(https://github.com/code4craft/webmagic/issues...
2019-07-08 23:21:14
1808
4
原创 web授权认证
web.xml在/WEB-INF/web.xml里添加下面代码<listener> <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class> </listener> <filter&g...
2019-03-23 17:53:06
855
原创 Shiro判断Subject是否拥有该角色
主要针对hasRole、hasRoles、hasAllRoles、checkRoles这几个方法的使用笔记#### [shiro_role.ini]```ini[users]java1234=123456,role1,role2jack=123,role1```#### 单个判断角色hasRole多个依次判断,返回true或者false,是否拥有该角色```java@Test...
2019-03-20 16:04:41
6762
原创 解决报错:com.mysql.cj.exceptions.InvalidConnectionAttributeException
```javaCaused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.You must configure eit...
2019-03-20 16:02:31
11254
1
原创 Spring常用注解
@Component:写在一个类的上面,声明该类是一个bean@Repository:声明一个Dao层的bean@Controller:声明一个控制层的bean@Service:声明一个Service层的bean@Value:给bean里面的每一个属性赋值,例如:@Value("20")@Autowired:默认按类型注入,类型找不到,则按照名字注入@Autowired() @Qual...
2019-03-12 23:17:42
123
原创 静态代理模式
理解如果小A要结婚,那么他就需要做布置结婚现场,与新娘结婚,最后收拾现场。如果使用静态代理模式解决思路:如果小A要结婚,可以找一个婚庆公司,婚庆公司的职责就是负责布置结婚现场,和最后的收拾现场,而小A就只要负责结婚。从这两段话中,我们可以看出,小A和婚庆公司的目的都是为了结婚而做事情,那么在Java我们就一个把结婚这个事情定义成一个接口,小A和婚庆公司都有完成结婚这个事情。婚庆公司完成结...
2019-03-12 17:46:30
272
原创 MyBatis的一级缓存和二级缓存
MyBatis的一级缓存和二级缓存一级缓存是SqlSession级别的缓存,当使用了clearCache方法和,或者close方法的话,这个缓存失效,如果还有同样的查询,则还会发送一次查询SqlSession session = SqlSessionFactoryUtil.getSession();Emp emp = session.selectOne("queryEmpByNo"...
2019-03-11 10:11:00
103
原创 Java8——时间类
Java8——时间类一套新的时间API,放在java.time包下面比之前的更加规范,并且解决了线程安全问题(最大区别)线程安全问题public class SimpleDateFormatTest { public static void main(String[] args) throws Exception { SimpleDateFormat sd...
2019-01-09 17:03:00
204
原创 Java之冒泡排序
Java之冒泡排序冒泡排序,从字面上理解,冒泡的话,可以想象鱼在水里吐泡泡,越接近水面的泡泡越大,越远离水面的泡泡越小,那么冒泡排序也就是一个种从小到大的排序。 冒泡排序的原理:比较相邻的两个数,将值大的交换值右端思路每次都比较相邻的两个数,在第一轮之后,最大的值就到了最右端,那么第二轮就可以少一次比较,因为在第一轮最大的值已经在右端,所以第二轮比较,最右端的数就不参与比较,也就少了1...
2018-09-28 10:58:00
219
1
原创 重写getColumnName()方法报错java.lang.StackOverflowError
重写getColumnName()方法报错java.lang.StackOverflowError我在一个方法里面初始化了一个列名,并添加了列名columnNames = new Vector(); columnNames.add("学号"); columnNames.add("姓名"); columnNames.add("性别"); ...
2018-03-10 18:15:00
214
原创 听说早起有这些好处
听说早起有这些好处 古人云:一日之计在于晨。早上都抓不住,怎么能抓住当天?长期坚持早起对身体是有好处的,但具体有哪些惊人的变化,不妨一看。01.你比别人健康。2017年的诺贝尔生理学/医学奖颁发给了杰弗里·霍尔、迈克尔·罗斯巴什和迈克尔·扬,以此褒奖这三人在生物体昼夜节律的分子机制的研究。简单说,就是人体是有一个生物钟的,按时睡觉,按时起...
2018-03-09 16:52:00
237
原创 Type mismatch: cannot convert from java.sql.Connection to com.mysql.jdbc.Connection
Type mismatch: cannot convert from java.sql.Connection to com.mysql.jdbc.Connection 这是我在使用java连接数据库是碰到的一个小问题,是在使用“DriverManager.getConnection”的一个报错,翻译过来就是“类型不匹配:无法从java.sql.Co...
2018-03-09 14:27:00
1125
原创 应用的共享对象application
应用的共享对象application Web服务器一旦启动,就会自动创建application对象,并一直保持,直到服务器关闭。application对象负责提供应用程序在服务器中运行时的一些全局信息,客户端使用的application对象都是一样的。在此期间,在任何地方对application对象相关属性的操作,将会影响到其他和用户对此的访问。...
2017-11-11 11:40:00
1148
原创 MVC开发模式笔记(一)
MVC开发模式笔记(一) MVC模式包括三个部分,即模型(Model层和M层)、视图(View层或V层)和控制器(Controller层和C层),分别对应于内部数据、市局表示和输入输出控制部分。实际上,MVC是一种组织代码的规范,也是一种将业务逻辑与数据显示相分离的方法。MVC模式的优点将数据建模,数据显示和用户交互三者分开,使得程序设计的过...
2017-10-26 21:53:00
148
原创 使用JavaBean封装数据和业务逻辑
使用JavaBean封装数据和业务逻辑 学习到JavaBean了,打个小栗子,大神勿喷功能:输入三条边,判断是否构成三角形,并计算面积Stringtonum.java:封装了三角形三条边及一个字符串分离出三条边Triangle.java:封装了三角形三条边,判断是否构成三角形,并计算面积index.jsp:用户访问页面index.jsp...
2017-10-26 21:40:00
1836
原创 Java字符串笔记(一)
Java字符串笔记(一) 已经有一个多月没有动Java了,今天开始学习了,先复习一下Java的字符串吧字符串声明和赋值String name = new String("京唐C");或者String name = "京唐C";或者String name="";name = "京唐C";获取字符串长度使用length(...
2017-08-02 12:25:00
81
原创 开头第一篇Hello World
开头第一篇Hello World 以前在折腾个人博客的时候,使用过的WordpPress、Z-Blog、Typecho建站程序,开头第一篇都是Hello World,作为程序员的社区,开头第一篇当然也要是Hello World! 一句Hello World之后,就正式开始了学习编程的旅途。不管结局是大神,或是菜鸟...
2017-07-19 20:45:00
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人