自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱编程~爱大牛~

人是要有目标的!

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

转载 new HashMap(){{put(key, value);}}的解释

一、HashMap的初始化1、HashMap 初始化的文艺写法   HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器。普通青年一般会这么初始化: [java] view plain copy HashMap map =    new HashMap();   map.put("Name", "June");   

2017-05-20 10:55:21 5045

转载 Thread的中断机制(interrupt)

中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中断请求,请使

2017-04-15 21:31:22 727

转载 Java中Lock,tryLock,lockInterruptibly有什么区别?

ReentrantLock 锁有好几种,除了常用的lock ,tryLock ,其中有个lockInterruptibly 。先把API粘贴上来lockpublic void lock()获取锁。如果该锁没有被另一个线程保持,则获取该锁并立即返回,将锁的保持计数设置为 1。如果当前线程已经保持该锁,则将保持计数加 1,并且该方法立即返回。如果该锁被另一个线程保持,则出于线程调

2017-04-15 21:05:47 5336

转载 Java中守护线程的总结

在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就

2017-04-13 22:49:41 368

原创 Java多线程中interrupt interrupted isInterrupted

/** * Created by wangxizhong on 17/4/13. */public class Main { public static void main(String[] args) throws InterruptedException { MyThread thread = new MyThread(); thread.star

2017-04-13 21:27:33 432

转载 Java多线程并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下

2017-04-13 17:56:50 458

转载 Thread.currentThread().getName() ,对象实例.getName() 和 this.getName()区别

首先要明白 this.XXX 的使用场景 使用Thread.currentThread().getName()和使用this.getName()和对象实例.getName(),都可以得到线程的名称,但是使用this调用getName()方法只能在本类中,而不能在其他类中,更不能在Runnable接口中,所以只能使用Thread.currentThread().getName()获取线程的名称,

2017-04-13 13:42:17 612

转载 Spring 事务失效问题

只要避开Spring目前的AOP实现上的限制,要么都声明要事务,要么分开成两个类,要么直接在方法里使用编程式事务[问题]       Spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring AOP啊,事务管理真轻松啊,真轻松;事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务;轻量级,测试起来也简单,嘿!”。不管从哪个角度看,轻量级声明式事务都是一件解放生

2017-04-10 21:46:03 350

转载 BeanFactory与FactoryBean

原文地址:http://blog.csdn.NET/is_zhoufeng/article/details/38422549首先要分辨BeanFactory 与 FactoryBean的区别, 两个名字很像,所以容易搞混BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂FactoryBean:以Bean结尾,表示它是一个Bean

2017-03-23 16:21:15 296

原创 Gradle Execution failed for task ':xxxx:findMainClass'.

bogon:smart wangxizhong$ gradle build  -x testLoading.....:server:compileJava UP-TO-DATE:server:processResources UP-TO-DATE:server:classes UP-TO-DATE:server:jar:client:compileJava:client

2017-03-22 23:37:21 10772 1

转载 Bean实例化问题

在动态注册RMI远程调用的Bean后迟迟不进行注册,后显示在代码中getBean方法后注册成功,找到以下文章可以参考解决该问题容器启动之后,并不会马上就实例化相应的bean定义。我们知道,容器现在仅仅拥有所有对象的BeanDefinition来保存实例化阶段将要用的必要信息。只有当请求方通过BeanFactory的getBean()方法来请求某个对象实例的时候,才有可能触发

2017-03-13 17:24:29 561

原创 Java集合初始化赋值等相关问题

以下来举几个例子: Map map= new HashMap() {{ put("key1", "value1"); put("key2", "value2"); put("key3", "value3"); }};List stringList=new ArrayList(){{

2017-03-08 13:54:59 3605

原创 SpringData JPA @Query分页查询Exception问题解决方案

Caused by: org.springframework.data.jpa.repository.query.InvalidJpaQueryMethodException: Cannot use native queries with dynamic sorting and/or pagination in method public abstract org.springframework.

2017-02-16 16:50:11 8447

转载 MYSQL explain详解

explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。先解析一条sql语句,看出现什么内容EXPLAINSELECTs.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.addressFROM uchome_space ASs,uchome_

2017-02-14 14:16:02 296

转载 使用 RMI + ZooKeeper 实现远程调用框架

在 Java 世界里, 有一种技术可以实现“跨虚拟机”的调用,它就是 RMI(Remote Method Invocation,远程方法调用) 。例如,服务A 在 JVM1 中运行,服务B 在 JVM2 中运行,服务A 与 服务B 可相互进行远程调用,就像调用本地方法一样,这就是 RMI。在分布式系统中,我们使用 RMI 技术可轻松将 服务提供者(Service Provider)与 服务消费

2017-01-20 17:32:21 379

转载 spring中注册bean(通过代码动态注册)

//将applicationContext转换为ConfigurableApplicationContext  ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext;    // 获取bean工厂并转换为DefaultLi

2017-01-20 17:21:08 748

转载 RMI(Remote Method Invocation)初窥门径

【引言】作为J2EE核心技术之一的RMI,它允许客服端调用一个远程服务器的组件,并返回调用结果(返回值或异常),可以完成分布式应用。整个调用过程由RMI实现,对使用者透明。【Stub和Skeleton】1、要了解RMI原理,Stub和Skeleton是必须先理解的两个概念。以下引用别的一段话:做个比方说明这两个概念。 假如你是A,你想借D的工具,但是又不认识D的管家C,

2017-01-20 16:34:02 292

转载 Java RMI远程服务调用

RMI的定义RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力。RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的通讯。允许运行在一个java 虚拟机的对象调用运行在另一个java虚拟机上对象的方法。这两个虚拟机可以是运行在相同计算机

2017-01-20 11:13:55 643

转载 Spring MVC 4.2 增加 CORS 支持

Spring MVC 4.2 增加 CORS 支持跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求。比如说,域名A(http://domaina.example)的某 Web 应用程序中通过标签引入了域名B(http://domainb.foo)站点的某图片资源(http://domainb.foo/

2017-01-20 09:45:35 300

转载 zookeeper 最佳教程

1、Zookeeper深入理解(一)(概念及基础)http://hao0.me/zookeeper/2015/02/28/zk-basic.html2、Zookeeper深入理解(二)(编程实践之Master-Worker)http://hao0.me/zookeeper/2015/03/02/zk-program-master-worker.html3、Zookeeper

2017-01-17 01:41:39 844

转载 Exception异常处理反模式

应该抛出一个异常还是应该返回一个null?是抛出checked类型异常还是抛出unchecked类型异常?对于很多中级的开发人员而言,异常处理往往是一件事后才去考虑的事情。他们经常使用的异常处理方式是try/catch/printStackTrace()。当这些开发人员想要尝试更有新意的异常处理方式时,常常会陷入一些常见的异常处理反模式中。  随着1998年《反模式:危机中软件、架构和项目的重

2017-01-17 01:39:47 1013

转载 RabbitMQ消息处理机制fanout,direct,topic,header

RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储RabbitMQ提供了四种Exchange:fanout,direct,topic,headerheader模式在实际使用中较少,本文只对前三种模式进行比较。 性能排序:fanout > direct >> topic。比例大约为11:10:6 一.

2017-01-15 13:21:12 3900

转载 Docker网络原则入门:EXPOSE,-p,-P,-link

编者的话】构建多容器应用程序,需要定义网络参数来设置容器间的通信,可以通过EXPOSE或者-expose暴露端口、使用-p发布特定端口,还可以用-link等等来实现,这些方法可能会得到一样的效果,但是这些方法之间是否有不同,应该选择什么样的方法,将是本文讨论的重点内容。如果你已经构建了一些多容器的应用程序,那么肯定需要定义一些网络规则来设置容器间的通信。有多种方式可以实现:可以通过--

2017-01-14 21:50:02 1436

转载 Java 8 Optional

我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了OptionalUser> user = ...... if (user.isPresent()) { return user.getOrders();} else

2017-01-07 21:01:33 296

转载 java 二进制兼容性概述

现在的软件越来越依赖于不同厂商、作者开发的共享组件,组件管理也变得越来越重要。在这方面,一个极其重要的问题是类的不同版本的二进制兼容性,即一个类改变时,新版的类是否可以直接替换原来的类,却不至于损坏其他由不同厂商/作者开发的依赖于该类的组件?    Java二进制兼容性概念的主要目标是推动Internet上软件的广泛重用,同时它还避免了大多数C++环境面临的基础类脆弱性问题——例如,在

2017-01-07 19:39:23 617

转载 @SuppressWarnings

一、前言                                    编码时我们总会发现如下变量未被使用的警告提示:  上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。 二、 @SuppressWarings注解      

2017-01-07 17:35:36 377

转载 Modifier静态属性

JAVA 反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。其中,该修饰符是java.lang.reflect.Modifier的静态属性。对应表如下:PUBLIC: 1PRIVATE: 2PROTECTED: 4STATIC: 8FINAL: 16SYNCHRONIZED: 32VOLATILE: 64

2017-01-05 15:07:02 888

转载 mysql获取某个表的所有字段名

mysql安装成功后可以看到已经存在mysql、information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息。知道这个表后,获取任意表的字段就只需要一条select语句即可。例如:select COLUMN_NAME from information_schema.COLUMNSwh

2016-12-09 18:02:57 1086

转载 ThreadLocal 那点事儿

ThreadLocal,直译为“线程本地”或“本地线程”,如果你真的这么认为,那就错了!其实,它就是一个容器,用于存放线程的局部变量,我认为应该叫做 ThreadLocalVariable(线程局部变量)才对,真不理解为什么当初 Sun 公司的工程师这样命名。早在 JDK 1.2 的时代,java.lang.ThreadLocal 就诞生了,它是为了解决多线程并发问题而设计的,只不过设计得

2016-12-06 10:36:57 403

转载 FreeMarker的if标签

if, else, elseif Page Contents SynopsisDescriptionSynopsiscondition> ...condition2> ...condition3> ...... ...Where:condition, condition2, ...etc.: Expression

2016-12-05 18:04:55 4075

转载 FreeMarker 数字输出中的逗号问题

Long i=100000000l; Map model=new Map(); model.put("t",i); 在freemarker中显示为100,000,000 想按原样输出时${t} 显示为100,000,000 ${t?c} 显示为100000000 如果不加?c 默认情况下freemarker会将数字用逗号分隔 如何去掉","逗号呢.,加上"?c"就可以了

2016-12-05 18:04:09 1391

转载 RabbitMQ在Linux Centos安装步骤

rabbitmq:MQ全称为MessageQueue,消息队列(MQ)是一种应用程序对应用程序的通信方法,在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。安装:坎坷历程 (erlang不建议源码安装,问题会有,自行决策)新搭的一台CentOS mini安装,里面缺少很多应用yum i

2016-12-03 23:07:56 484

原创 SpringData,Spring与Hibernate整合小记

Repository SpringData Hibernate

2016-11-12 21:34:40 1845

转载 FileMode文件模式

一.FileMode.AppendAppend追加:如果文件存在,则打开文件,把指针指到文件的末尾;如果不存在,则新建文件二.FileMode.CreateCreate:新建如果文件存在,则覆盖原有文件,把指针指到文件的开始,文件的创建日期会更新;如果文件不存在,则新建文件三.FileMode.CreateNewCreateNew:新

2015-11-19 00:28:22 4636

原创 泛型List<T>方法属性

这两天上课正好学泛型和ArrayList之间的区别,在家看了看深入理解和李志的学习笔记,感觉泛型内容很多,在深入理解中就占了三四十页,目前小懂的一些方法与大家分享~后续学习深入我还会补充首先介绍一个List的方法  AsReadOnly()   此方法返回的是一个只读接口,实例: List num = new List();//首先创建一个泛型集合

2015-11-06 00:03:04 942

转载 关于 4.5中新增的异步编程新特性总结

async & await关于 4.5中新增的异步编程新特性总结1.用async标记的异步方应该使用await关键子来制定挂起点。await操作符会告诉编译器,这个async方法在完成之前,后面的代码无法继续执行,同时,控制权转移到async方法的调用者2.一个async方法里通常包含一个或多个的对应的await操作符,但如果没有await表达式也不会导致编译错误。但如果调

2015-11-02 01:32:24 373

转载 C#中IDisposable

本文导读:C#中IDisposable接口的主要用途是释放非托管资源。当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存。但无法预测进行垃圾回收的时间。另外,垃圾回收器对窗口句柄或打开的文件和流等非托管资源一无所知。将此接口的Dispose方法与垃圾回收器一起使用来显式释放非托管资源。当不再需要对象时,对象的使用者可以调用此方法。在Net中,由GC垃圾回收线程掌握对象资源的释

2015-11-01 23:05:23 424

原创 空合并操作符

空合并操作符即??操作符,他会对左右两个操作数进行判断,如果左边的数不为null,就返回左边的数,反之则返回右边的数,这个可空操作位运算符可以用于可空类型,亦可以用于引用类型,但是不能用于值类型,因为??运算符会将其左边的数与null进行比。使用??空合并运算符可以很方便的设置默认值,比变了通过if和else语句来进行判断,从而简化了代码行数,提高了代码的可读性。public static v

2015-11-01 20:50:40 803

转载 (抽象)类和接口细节分析

抽象类是否可继承接口?抽象类里面可以包括抽象方法和非抽象方法,而接口只是定义了方法的原型,没有方法的具体定义。从这方面来分析,抽象类是可以继承接口的。 抽象类继承接口后,一定要实现接口中的成员方法么?答案是否定的。抽象类继承接口后,可以实现接口中的成员方法,也可以不实现。如果不实现接口中成员方法,只需将该方法声明为abstract类型就可以了。int

2015-11-01 15:09:01 474

转载 C# 结构体 struct

C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员。  结构和类的区别:  1、结构是值类型,它在栈中分配空间;而类是引用类型,它在堆中分配空间,栈中保存的只是引用。  2、结构类型直接存储成员数据,让其他类的数据位于对中,位于栈中的变量保存的是指向堆中数据对象的引用。  C#中的简单类型,如int、double、bool等都是结构类

2015-11-01 00:25:00 405

空空如也

空空如也

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

TA关注的人

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