在众多的编程语言里面,字符串都被广泛的使用。在Java中字符串属于对象,语言提供了String类来创建和操作字符串。
CentOS 6.x 下yum安装Tomcat8
废话不多说,今天准备在Centos上安装tomcat,学java不会tomcat,那不就是白学Java么?
查看Centos版本:
Spring Boot 1.x集成spring-boot-devtools开发时实现热部署
热部署
大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载。
而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前。
Maven项目出现“请使用 -source 8 或更高版本以启用 lambda 表达式”
今天在编译项目的时候出现“请使用 -source 8 或更高版本以启用 lambda 表达式”的问题。这个问题是怎么出现的呢?
其实是自己Maven的默认JDK的版本过低的原因,貌似JDK的版本默认为JDK1.5。知道问题的所在,我们就可以着手解决了。
Spring Boot 1.x 整合mybatis,并自动生成mapper和实体
最近一直都在学习Java,发现目前Java招聘中,mybatis出现的频率挺高的,可能是目前Java开发中使用比较多的数据库ORM框架。于是我准备研究下Spring Boot 1.x 和mybatis的整合。
Spring Boot框架中读取配置的几种方式
现在开发的主力语言已经从PHP转向Java,目前参与或负责公司的几个项目都是使用Spring Boot框架。用了Java之后,对比PHP就一个感觉:繁琐,Java比PHP繁琐的很!由于自己平时也在努力学习Java中,今天趁着有空闲来总结一下Spring Boot中读取配置的几种方式,加深一下自己的印象。
什么是缓存雪崩和缓存穿透
1. 缓存雪崩
如果缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩。这个没有完美解决办法,但可以分析用户行为,尽量让失效时间点均匀分布。大多数系统设计者考虑用加锁或者队列的方式保证缓存的单线程(进程)写,从而避免失效时大量的并发请求落到底层存储系统上。
MySQL中真正意义上的UTF8编码
总所周知,目前的软件体系中运用最广泛的是Unicode字符集,而其中运用最多的编码规则就是UTF-8。用UTF-8有什么好处呢?简单的来说有一下几种好处:
- 乱码不会扩散, GB2312在丢失一字节等情况下会造成后续所有文字变成乱码。
- 不会产生错误的搜索结果, GB2312在搜索的时候相邻两个中文会拼出一个新的字符,导致出现错误的搜索结果。
- 更大的字符集。
- 很多语言直接支持 UTF-8,部分语言存储字符串到内存时直接使用UTF-8编码。
- 与 GB2312/GB18030相比, UTF-8是一个通用解决方案。
- Unicode 一直有人维护,而 GB18030 下一次更新不知道会是什么时候了。另对于中文, UTF-8和GB2312在gzip压缩后都差不多,所以用来做网页对带宽影响很小。