BY Blog

海阔天空,随风飘扬。

如何看待生产者与消费者?

基于生产者和消费者实现整数平方功能

Hey ProducerAndCustomer The best preparation for tomorrow is doing your best today.–对明天做好的准备就是今天做到最好! 在生产者与消费者模式中,通常有两类线程,即若干个生产者线程和若干个消费者线程,生产者线程负责提交用户请求,消费者线程负责具体的处理生产者计较的任务.生产者和消费者之间通过共享内存...

你真的了解String字符串中的分割吗?

三种方法实现String字符串的分割

Hey String Split A man’s best friends are his ten fingers. – 人最好的朋友是自己的十个手指. 大家都知道String字符串是长度不可变的,对它的操作,都会new成新的字符串,比如 字符串的分割,也会产生新的字符串,其值value保存在常量池中,现在就给大家说一下String中的三种分割方式. 爱码如下: public...

如何做到性能优化?

时间换空间,空间换时间

Hey 时间,空间 Wasting time is robbing oneself.–浪费时间就是掠夺自己. 什么时候时间换空间? 时间换空间常用于内存、硬盘空间不足的情况下,通过牺牲CPU的方式获得原本需要更多内存或者硬盘空间才能完成的工作. 简单的时间换空间 例子 两个数的互换 a = a+b; b = a-b; a = a-b; 另外的例子就...

如何写出高效的单例模式?

基于七种方式创建单例对象

Hey Singleton Never put off what you can do today until tomorrow. – 今日事今日毕. 最近在看一本书,叫做java性能优化指南,收获颇丰,推荐大家有时间可以看一看,毕竟性能优化一直是我们的一个劣势. 大家都知道,单例模式是一种非常重要的结构模式,因此如何写出高效的单例模式也是很重要的,现在的面试中,有的面试官也会...

如何写日志记录操作?

基于springboot 实现AOP日志管理

Hey AOP日志 Sharp tools make good work. – 工欲善其事,必先利其器. 我们开发的每个功能都是提供给客户使用,当客户对某个功能进行操作时,我们是怎么知道该用户在操作什么呢,在执行哪个功能呢,所以我们需要有日志进行记录客户的操作,方便我们管理. 首先导入日志的依赖包 (日志无非就是在操作某个功能是进行拦截,并且记录当前用户,其实就是动态代理) ...

如何使用redis进行存放数据?

基于redis使用工具类向缓存中加入数据

Hey Redis A bold attempt is half success. – 勇敢的尝试是成功的一半. 使用redis缓存的几个常用的语句 给一个对象的所有属性进行赋值 hset hashname field value 对一个对象进行取值 hget hashname field 批量设值 hmset hashname field1 val...

spring中是如何封装参数类的?

基于BeanUtiles工具类实现参数封装

Hey BeanUtils God helps those who help themselves.– 天助自助者. 闲暇之余,写了一个封装工具类BeanUtils,模仿了spring中的参数封装类,实现了参数的封装,具体代码如下: BeanUtilsTest 方法fillObject() 方法参数 params 类 //模仿 springmvc中的封装工具类 publi...

如何使用多线程有序打印n遍ABC?

使用锁的机制完成多线程问题

Hey Thread Sow nothing, reap nothing. –春不播,秋不收. 最近闲暇无事的时候,逛了逛论坛,发现有的同学对于多线程有着一定的盲区,并且提出了几个多线程的问题,我就在私下里写了两个例子简单说明下多线程的应用,就是多线程有序打印n遍abc的问题. 实现方法一 : 通过java中的AtomicInteger原子性操作完成,线程无非就是原子性的问题 ...

WebSocket简单使用

基于WebSocket实现简单聊天室

Hey WebSocket Good morning! The clouds in the sky are so white, I hope you feel like white clouds. –早安!天上的云好洁白,希望你的心情也如白云一般。 WebSocket是什么? 根据官方解释:服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属...

如何封装自己的扫包工具类

基于工具类实现扫包,扫类,扫注解

Hey ScannerUtils 扫包工具类 In doing we learn.– 实践长才干. 最近做项目时,有个特殊的需求,就是进行扫注解,但是呢,此注解并不是基于springboot的而是自定义的,那怎么才能做到类上或者方法上的注解呢?鉴于此,我就写了一个进行扫包,扫类,扫注解的工具类,方便大家使用,详细类见如下: //扫包工具类 public class Scanne...