自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(10)
  • 收藏
  • 关注

原创 代码生成器 or 系统规划

        后台增删改查搞多了也就没啥意思了,感觉特别没有成就感,心里想着业务时间趁搞个后台的平台,达到什么目的呢?就是开发人员很快开发一个模块,不用再增删改查上浪费时间,该平台该提供什么能力呢?        代码生成器:这个肯定要有的,定义好表结构然后输出结果是controller,service,dao,mybatis配置文件,前台页面JS等        实现方案:  1)构建...

2018-07-25 17:04:00 645

原创 Could not create connection to database server

启动项目报错,报错如下:就是连接mysql的时候报的错2018-07-24 17:01:13,368 ERROR [com.alibaba.druid.pool.DruidDataSource] - create connection error, url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncod...

2018-07-24 18:30:40 3769

原创 mac系统mysql,maven环境变量配置

首先要知道你使用的Mac OS X是什么样的Shell,使用命令echo $SHELL如果输出的是:csh或者是tcsh,那么你用的就是C Shell。如果输出的是:bash,sh,zsh,那么你的用的可能就是Bourne Shell的一个变种。Mac OS X 10.2之前默认的是C Shell。Mac OS X 10.3之后默认的是Bourne Shell。我用的是zs...

2018-07-24 17:00:44 415

原创 线程阻塞工具类LockSupport

 LockSupport是一个线程阻塞工具,它可以在线程内的任意位置让线程阻塞,和Thread.suspend()相比,它弥补了resume()在前发生导致线程无法继续执行的情况,和Object.wait()相比它也不需要获取某个对象锁。LockSupport使用了类似信号量的机制,它为每一个线程准备了一个许可,如果该许可可用,会立即返回,并且消费这个许可,如果许可不可用,线程就会阻塞代码实例...

2018-07-22 18:06:21 261

原创 可重入锁ReentrantLock

     可重入锁ReentrantLock可以完全替代synchronized,在JDK5之前,synchronized太重,而可重入锁性能远远好于synchronized,从JDK6后,JDK团队对synchronized做了大量的优化以至于把这2个锁的性能差异不是很大.至于可重入锁的命名是因为这种锁在同一个线程可以反复进入,也就是可以调用lock()方法多次,当然也必须调用同样次数的unlo...

2018-07-22 17:06:19 136

原创 Java对象中等待(wait)和通知(notify)

JDK在Object对象中提供了2个非常重要的接口线程方法wait方法和notify方法,也就是所有Java对象都有这2个方法,意思就是当在一个实例Java对象上调用wait方法,那么当前线程就会从执行状态转变成等待状态,同时释放在实例对象上的锁,直到其它线程在刚才那个实例对象上调用notify方法并且释放实例对象上的锁,那么刚才那个当前线程才会再次获取实例对象锁并且继续执行。这样我们...

2018-07-22 11:23:57 24469 13

原创 错误的加锁(初学者常犯的错误)

      我们常常在程序中使用多线程来处理任务,这个时候是否正确使用加锁就很重要了,有时候看着代码没啥问题,但是执行起来发现结果并不是看到的那样,比如我们看下面的代码package me.lishuo;/** * @date 2018/7/21 下午5:10 */public class WrongLockOnInteger implements Runnable { p...

2018-07-21 17:35:15 756 1

原创 FactoryBean是如何运用在我们程序中的

我们在项目中可能都会用到redis,es,或者数据库,比如我们项目中需要连接多个es分片的时候,我们的配置文件最开始可能是下面的形式 ,ConnectionConfig是连接信息类,TransportUtils是工具类,下面是列举了2个业务分片,假如有10多个业务分片的时候需要十多个链接信息类和TransportUtils,显然是不合理的。<bean id="connec...

2018-07-16 22:29:12 1971

转载 一个想休息的线程:JVM到底是怎么处理锁的?怎么不让我阻塞呢?(转自码农翻身)

我是一个线程,生活在JVM(Java虚拟机)中, 这一段日子过得有些无聊,整个世界似乎只有这一个人,天天忙着执行代码,想休息一下都很难。我听说人类写的代码中有些特殊的地方,叫做临界区,比如synchronized修饰的方法或者代码块,他们非常神奇,在同一时刻JVM老大只允许一个线程进入执行。实际上,老大设置了一把锁,抢到了这把锁就可以执行,否则只能阻塞,等待别人释放锁。老大说,阻塞就是不用干活了,...

2018-07-15 16:11:04 267 1

转载 坐在马桶上看算法:快速排序(转)

高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6  1  2 7  9  3  4  5 10  8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大...

2018-07-02 18:14:50 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除