自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Java 日期字符串date与数字long之间的转换

package com.lzz.pisp.constants;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.util.StringUtils;public clas

2017-06-29 14:19:25 8399

原创 Spring Autowired(required = false) 说明与@Qualifier 注释说明

当候选 Bean 数目不为 1 时的应对方法     在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean。我们可以来做一个实验:       清单 10.

2017-06-29 13:48:31 4758

原创 Java中时间比较大小

DateFormat df = new SimpleDateFormat("hh:mm");String DATE1 =df.format(new Date());String DATE2 ="18:45";Date dt1 = df.parse(DATE1);Date dt2 = df.parse(DATE2);if (dt1.getTime() //白天天气 logger.i

2017-06-22 16:16:20 1726

转载 【Java并发编程】之八:多线程环境中安全使用集合API(含代码)

在集合API中,最初设计的Vector和Hashtable是多线程安全的。例如:对于Vector来说,用来添加和删除元素的方法是同步的。如果只有一个线程与Vector的实例交互,那么,要求获取和释放对象锁便是一种浪费,另外在不必要的时候如果滥用同步化,也有可能会带来死锁。因此,对于更改集合内容的方法,没有一个是同步化的。集合本质上是非多线程安全的,当多个线程与集合交互时,为了使它多线程安全,必须采

2017-06-16 18:33:18 243

转载 【Java并发编程】之七:使用synchronized获取互斥锁的几点说明

在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确保在某一时刻,方法内只允许有一个线程。      采用synchronized修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象都有一个monitor(锁标记),当线程拥有这个锁

2017-06-16 18:30:23 392

转载 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/17161237    Java中实现多线程有两种方法:继承Thread类、实现Runnable接口,在程序开发中只要是多线程,肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下优势:    1、可以避免由于Java的单继承特性而带

2017-06-16 18:28:12 228

转载 【Java并发编程】之五:volatile变量修饰符—意料之外的问题(含代码)

volatile用处说明    在JDK1.2之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一

2017-06-16 18:21:08 239

转载 【Java并发编程】之四:守护线程与线程阻塞的四种情况

守护线程  Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)      用户线程即运行在前台的线程,而守护线程是运行在后台的线程。 守护线程作用是为其他前台线程的运行提供便利服务,而且仅在普通、非守护线程仍然运行时才需要,比如垃圾回收线程就是一个守护线程。当VM检测仅剩一个守护线程,而用户线程都已经退出运行时,VM就会退出

2017-06-16 18:18:21 211

转载 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)

挂起和恢复线程    Thread 的API中包含两个被淘汰的方法,它们用于临时挂起和重启某个线程,这些方法已经被淘汰,因为它们是不安全的,不稳定的。如果在不合适的时候挂起线程(比如,锁定共享资源时),此时便可能会发生死锁条件——其他线程在等待该线程释放锁,但该线程却被挂起了,便会发生死锁。另外,在长时间计算期间挂起线程也可能导致问题。    下面的代码演示了通过休眠来延缓运行,模拟长时间

2017-06-16 18:17:03 335

转载 【Java并发编程】之二:线程中断(含代码)

使用interrupt()中断线程    当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回。这里需要注意的是,如果只是单纯的调用interrupt()方法,线程并没有实际被中断,会继续往下执行。    下面一段代码演示了休眠线程的中断:[java] view

2017-06-16 18:11:24 221

转载 【Java并发编程】之一:可重入内置锁

每个Java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁。线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁。获得内置锁的唯一途径就是进入由这个锁保护的同步代码块或方法。    当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。然而,由于内置锁是可重入的,因此如果摸个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功。“重入”意味着获

2017-06-16 18:05:39 250

转载 【Java并发编程】之十九:并发新特性—Executor框架与线程池

Executor框架简介    在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是java 5中引入的,其内部使用了线程池机制,它在Java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易

2017-06-16 14:22:59 264

原创 Linux下mongodb的安装

1)下载Linux版的MongoDB下载地址:https://www.mongodb.org2)下载的MongoDB,解压即可使用,不需要其他的配置   解压MongoDB,执行命令:   3)修改解压的MongoDB压缩包名称为mongodb   修改解压的MongoDB压缩包名称为mongodb,执行命令:   mv mongodb-linu

2017-06-08 14:35:23 288

转载 阿里架构之旅(四)——zookeeper的原理

前面我们介绍了一下zookeeper的一些基本的知识,知道了他是一个树形结构的文件系统,同时外加通知机制的这么一个东西。那么今天我们就来探究一下它的根源,一些内部的运行原理。一、基础知识1、角色2、工作模式      Zookeeper分为2个部分:服务器端和客户端,客户端只连接到整个ZooKeeper服务的某个服务器上。客户端使用并维护一个TCP连

2017-06-06 18:32:24 407

转载 阿里架构之旅(三)——动物园管理者zookeeper

目录(?)[+]      今天我们来说一下zookeeper,它翻译为中文的意思是:动物园管理者,可是这跟我们的架构有什么关系呢?接着看。之前我们谈到了dubbo,在dubbo解析中,我们提到了一种注册服务的机制,但是当时并不知道那是个什么东东,今天我们就来揭晓答案。一、是什么      ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(

2017-06-06 18:30:20 999

转载 阿里架构之旅(二)——Dubbo解析

目录(?)[+]      上次我们简单介绍了一下Dubbo,知道了Dubbo是一个分布式服务框架,将复杂的调用关系简单的管理起来,不管是从设计思路,还是性能提升上,它都是一个优秀的产品。如果我们不知道它的工作原理,那么我就相当于没接触过Dubbo,而且我们可以发现它的原理会更有趣。既然是这样,那我们就赶紧开始吧。一、架构图解1、架构图2、角色

2017-06-06 17:58:43 529

转载 阿里架构之旅(一)——Dubbo初识

最近在做项目中用的是阿里的框架Dubbo+zookeeper,可是并不知道什么是dubbo,什么是zookeeper,这一系列的问题,引导者我们去不断的探索。今天我们来看看阿里的分布式服务架构——Dubbo。1、是什么      Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。        简单的说,dubbo

2017-06-06 17:30:44 439

原创 PowerDesigner 16.5 显示右侧工具箱

16.5版本中,工具箱不见了??怎么让显示呢。下边几步轻松搞定!!1、打开PowerDesigner软件;2、新建Model或者项目后,发现工具箱不见了;3、点击View菜单;4、然后选择Toolbox选项;5、工具箱成功显示!!

2017-06-01 17:43:48 23886 4

原创 PowerDesigner 设置外键

外键如果是由概念模型或者逻辑模型生成物理模型,那么外键是通过Relationship生成的,也可以通过工具栏中的Reference来实现两表之间的外键关系。假如一个课程只会在一个固定的教室上课,而一个教室会安排多个课程在不同的时间上课,所以教室和课程是一对多的关系,那么课程表中就需要添加RoomID列以形成外键列,具体操作方法就是在工具栏中单击“Reference”按钮,然后在设计面板中,

2017-06-01 16:44:01 3867

原创 mysql中TIMESTAMP和DATETIME的比较

TIMESTAMP和DATETIME的相同点:1> 两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。 TIMESTAMP和DATETIME的不同点:1> 两者的存储方式不一样对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而

2017-06-01 14:47:28 488

原创 MySQL更新死锁问题

就是如何利用乐观锁来解决并发问题,但是项目推到线上后就报错了,如下:-08-13 15:12:44 [ERROR] com.zhubajie.coupon.app.CouponReceiveAppServiceImpl {CouponReceiveAppServiceImpl.java:50} - ### Error updating database. Cause: com.my

2017-06-01 09:45:03 1298

空空如也

空空如也

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

TA关注的人

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