自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

漫天雪_昆仑巅

一柄剑,三生缘,步履踏遍尘世劫

  • 博客(26)
  • 资源 (21)
  • 收藏
  • 关注

原创 线程本地变量ThreadLocal

PS:关于多线程共享变量ThreadLocal变量值的共享可以使用public static 变量的形式,所有的线程都可以使用同一个public static变量。如果想实现每一个线程都有自己的共享变量,如何实现?JDK中提供了类ThreadLocal可以解决这样的问题。原理:ThreadLocal所属包java.lang.ThreadLocal 是个泛型classThreadLocal为解决多线

2017-10-31 17:47:39 24374

原创 Attach Source源码设置jdk

ps:这个不是技术文,不过公司还是许多实习的同学不知道怎么设置,所以发个记录共享一下:关于工具Eclipse  Attach Source 跳转源码设置:源码设置(根据图片顺序进行设置)选择External File之后,选择相应的jar或者zip如:jdk源码则选择jdk目录下的src.zip完成确认之后,可以看到相应的源码除了以上的方法去设置之外,还可以直接给jar进行设置,右键你需要atta

2017-10-31 16:37:47 2496 2

原创 线程方法join()和sleep()区别

描述:方法join()的作用是使所属的线程对象x正常执行run()方法,而使当前线程z进行无限期的阻塞,等待线程x销毁后再继续执行当前现在z后面的代码。join()方法具有使线程排队运行的作用,有些类似synchronized,与synchronized的区别是:join方法在内部使用了wait()方法进行等待,而synchronized使用的是对象监视器原理实现同步。join还有join(lon

2017-10-31 15:09:18 3507

原创 多线程交替执行

场景: 由于业务需要多线程并发操作,并且多线程之间是有一定的依赖关系,比如A线程存储数据,B线程则解析数据,即B线程是需要在A 线程执行完之后才开始执行,同样A线程存储数据的也需要B线程对数据解析完成后才开始存储新的数据,因此A与B两个线程就形成了交替实现,当然具体情况比这个复杂一些,但是大致逻辑类似。过程就是:A=>B=>A=>B=>....如此循环... 其实该动作和队列类似,即生产者和消费者

2017-10-31 14:13:37 744

原创 线程间通信(管道流)

说明 java语言中提供了各种输入/输出流,使得我们能够方便的操作数据,其中管道流(PipeStream)是一种特殊的流,可以用于不同线程间直接传送数据。一个线程发送数据到输出管道,另外一个线程从输出管道中读取数据,通过使用管道,可以实现不同线程间的通信,无须借助文件之类的存储介质。在JDK中提供了几个管道流类可以使线程间进行通信:1、PipedInputStream和PipedOutputStr

2017-10-30 15:28:01 1308 1

原创 字节流与字符流区别

概述 流是对字节序列的抽象,流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。分类1.Java的字节流   InputStream是所有字节输入流的父类,而OutputStream是所有字节输出流的父类。2.Java的字符流  Reader是所有读取字符串输入流的父类,而writer是所有输出字符串的父类。InputStream

2017-10-30 14:51:29 996

原创 线程操作wait和notify

线程进入运行状态之后,可以根据条件触发转为“等待阻塞”:运行的线程执行wait()方法,该线程会释放占用的所有资源,JVM会把该线程放入“等待池”中。进入这个状态后,是不能自动唤醒的,必须依靠其他线程调用notify()或notifyAll()方法才能被唤醒,如下代码:1、定义两个测试线程类public class WaitTest1 extends Thread { private Objec

2017-10-27 16:13:56 6721 1

原创 线程状态转换说明

线程在一定条件下,状态会发生变化,线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状态(Running):就绪状态的线程获取了CPU,执行程

2017-10-27 16:07:24 2427

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

在看本章之前可以先阅读上一篇文章以便对内存有一定了解:http://blog.csdn.net/vtopqx/article/details/78364685一.深入剖析volatile关键字1.volatile关键字的两层语义  一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:  1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了

2017-10-27 14:43:41 692

转载 计算机内存模型概念

一.内存模型的相关概念  大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此

2017-10-27 14:38:39 12921 1

原创 SonarQube代码质量管理

1、概述 SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误。高质量的管理软件代码,及时地对代码质量进行分析并给出合理的解决方案,也可以通过使用插件机制与 eclipse 和 JIRA 等其它外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。2、特性1.支持25种以上的语言:Java, C/C++, C#, PHP, Flex,Groovy, Java

2017-10-27 11:19:38 4125

原创 java线程停止interrupt

说明: 线程在运行过程中可能需要根据条件判断进行停止,从api上开是可以使用stop方法强制终止线程,但是官方不推荐这个方法,这个是作废过期的方法,因为如果强制让线程停止则有可能使一些清理性的工作得不到完成,同时对锁定的对象进行了“解锁”,有可能导致数据得不到同步处理,从而数据出现问题。在java中其实可以使用多种方式去终止,比如:1、使用退出标志,使线程正常退出,也就是说设置个变量,当满足变量的

2017-10-25 16:57:28 587

原创 数据存储引擎比较

概述:列一下常见数据存储引擎,对比以下三种引擎的使用:1)Hash存储引擎:【代表数据库:redis、memcache等】2)B树存储引擎:【代表数据库:MongoDB、mysql(基本上关系型数据库)等】3)LSM树存储引擎:【代表数据库:nessDB、leveldb、hbase等】1、Hash存储引擎通常也常见于其他存储引擎的查找速度优化上。 Hash 索引结构的特殊性,其检索效率非常高,索引

2017-10-20 10:20:32 1023

原创 http访问解析流程原理

http访问网址域名解析流程:1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip

2017-10-17 11:23:57 14710 4

原创 Java设计模式_(行为型)_解析器模式

引用百科 给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子,属于行为类模式。解释器是一个简单的语法分析工具,它最显著的优点就是扩展性,修改语法规则只需要修改相应的非终结符就可以了,若扩展语法,只需要增加非终结符类就可以了。具体参考该连接文章http://www.cnblogs.com/SamFlynn/p/4501154.html

2017-10-14 17:25:29 5654 2

原创 Java设计模式_(行为型)_访问者模式

引用百科访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。据《大话设计模式》中说算是最复杂也是最难以理解的一种模式了。定义(源于GoF《Design Pattern》):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必备条件,而且这个结构对象必须存在遍历自身

2017-10-14 16:45:33 24923

原创 Java设计模式_(行为型)_模版方法模式

引用百科 模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。模板方法模式需要开发抽象类和具体子类的设计师之间的协作。它是类的行为模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意,模板方法所代表的行为称为顶

2017-10-13 16:13:48 20354

原创 Java设计模式_(行为型)_策略模式

引用百科 策略模式是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。策略模式的优点有:策

2017-10-13 14:41:14 20226

原创 Java设计模式_(行为型)_状态模式

引用百科 (源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。状态模式的示意性类图如下所示:相关角色状态模式所涉及到的角色有:●环境

2017-10-13 11:02:16 20454

原创 Java设计模式_(行为型)_观察者模式

引用百科 观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。相关角色观察者模式主要包括以下角色:1

2017-10-12 20:35:48 20322

原创 Java设计模式_(行为型)_备忘录模式

引用百科 备忘录模式是一种软件设计模式:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。相关角色1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储自己的哪些内部状态。2.Memento(备忘录):负

2017-10-12 13:39:06 20251

原创 Java设计模式_(行为型)_中介者模式

引用百科 用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使得其耦合松散,而且可以独立地改变它们之间地交互,从相互引用网状结构变成以中介者为中心地星型结构。相关角色抽象中介者(Mediator):定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。中介者实现类(RealMediator):从抽象中介者继承而来

2017-10-10 14:34:05 8679

原创 Java设计模式_(行为型)_迭代模式

引用百科 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。适用性访问一个聚合对象的内容而无需暴露它的内部表示支持对聚合对象的多种遍历为遍历不同的聚合结构提供一个统一的接口迭代子模式涉及的角色:● 抽象迭代子(Iterator)角色:此抽象角色定义出遍历元素所需的接口。  ● 具体迭代子(ConcreteIterator)角色:此角色实现了I

2017-10-10 10:19:27 8588

原创 Java设计模式_(行为型)_命令模式

引用百科 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command Pattern)模式说明1.命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责

2017-10-09 14:44:41 8585

原创 Java设计模式_(行为型)_责任链模式

引用百科 责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。责任链模式涉及到的角色:● 抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义

2017-10-09 11:22:00 8555

原创 Java设计模式_(结构型)_享元模式

引用百科 享元模式(英语:Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。两个状态内蕴状态存储在享元内部,不会随环境的改变而有所不同,是可以共享的外蕴状态是

2017-10-01 12:25:55 8432

elasticsearch-7.2.0-linux-x86_64.tar.gz

elasticsearch-7.2.0-linux-x86_64.tar 这个是官网上面下载下来的,官网下载比较慢,有需要的朋友可以在这下载,elasticsearch-7.2.0版本,

2020-05-06

kafkatool_64bit.rar

这个是KaFka客户端工具,使用这个客户端工具可以很方便的连接kafka,可以查看和消费当前队列里面的数据、以及历史推送数据等,在开发或者调试中使用非常的方便。(这个是windows 64位版本)

2020-05-06

磁盘文件大小统计.zip

这是一款windows下磁盘大小统计软件,它可以精确到各个磁盘、目录、文件等各自的大小,解压后只要运行里面exe程序即可加载磁盘内占用情况,方便用户查看各个磁盘以及文件目录大小,非常的实用,当磁盘莫名其妙使用过大时候,不妨运行一下这个统计程序来看看是被哪个消耗了。

2020-05-06

GraphicsMagick-1.3.12-Q16-windows-dll.exe

GraphicsMagick是一个短小精悍的的图片处理工具和库集合。对于Java开发者来说,常用的图片处理工具有3个,JDK自带的图片处理库,ImageMagick,GraphicsMagick。JDK自带的图片处理库,虽稳定简单,性能却比较差;ImageMagick是目前最流行的图片处理工具,它的功能非常丰富;GraphicsMagick的功能略逊于ImageMagick,但是它的效率更强悍,但大多数情况下,GM的功能已经足够使用了。(这个是windows版本)

2020-05-06

IntelliJ IDEA常用配置操作文档

IntelliJ IDEA常用配置操作文档, 从基础配置到个性化处理及项目部署,一共三十多项相关配置和操作,如:颜色、快捷键、git、maven、tomcat、、、等等,几乎包含了日常所有用到的配置等, 为了明确的描述如何配置,里面每个配置都有相关的图片说明!有Eclipse操作基础的话可以快速看懂!

2019-05-31

Linux Nginx1.1.1安装包及依赖包

包含 nginx-1.1.10.tar.gz pcre-8.39.tar.gz zlib-1.2.11.tar.gz 安装过程可以参考:https://blog.csdn.net/vtopqx/article/details/84449722

2018-11-24

hadoop的winutils.exe及dll文件

hadoop2.8.x需要用到的hadoop.dll以及winutils.exe, 解决:Could not locate Hadoop executable: D:\sorftware\hadoop\hadoop-2.8.0\bin\winutils.exe问题

2018-07-04

dubbo war 2.5.4下载

这是已经打包好的dubbo2.5.4 war下载,下载后直接部署在tomat即可使用。经过本人测试完全可以执行, 支持jdk1.6,jdk1.7 如果是jdk1.8的话需要修改tomcat中jdk应用,改成1.6或者1.7的

2017-08-01

solr-dataimport-scheduler.jar定时同步

使用solr做数据库定时同步更新数据和索引时用到该jar,经过本人测试通过,放心使用. 支持solr5.x,solr6.x

2017-07-07

YUI compressor右键压缩脚本

YUI compressor右键压缩脚本,快捷压缩,不需要命令行,和图形界面,选择文件右键可以进行压缩处理。 解压后执行install.cmd,即可绑定右键菜单。

2017-04-01

Ant教程详解

该文档 包括 : Ant安装; Ant关键元素介绍以及使用; Ant与Java结合案例; 确实值得下载!

2013-07-29

Hadoop API文档

该文档格式为:.chm 其提供了Hadoop 安装、配置、使用等各方面的详细操作,值得大家下载!

2013-01-11

Eclipse/MyEclipse汉化版SVN插件

汉化版SVN插件,在Eclipse以及MyEclipse下都可以使用, 用法: 在软件安装目录的dropins文件中新建svn.link文件用于指向svn插件所在地; 在文件中输入插件地址 即:path=D:\\SVN 需要注意的是:尽量不要有中文路径,虽然说不一定会错,但是有时候有可能会安装不成功。

2012-12-19

Mongodb基于GridFS存储文件

Mongodb基于GridFS存储文件,通过流的方式存储文件图片,以及读取功能。本人亲自测试、编写。值得信赖

2012-06-29

Tomcat6 安装版下载

Tomcat6 安装版,免去配置,自动安装,自动注册Windows服务,作为服务器最佳选择。

2012-05-15

MySql客户端工具:navicat8_mysq下载

MySql客户端工具:Native下载,该软件提供了简单的MySql数据库连接,丰富的操作界面,简单易用。

2012-05-15

mongo-2.5.3.jar下载

提供了MongoDB所必需的Jar文件:mongo-2.5.3.jar

2012-05-15

PowerDesigner(CDM—PDM—SQL脚本的转换流程

很多的朋友对 E-R图 都不是很熟悉,或者说有的朋友在开发的项目过程中,根本就没有用到E-R图,因为对于有些对E-R图不是很熟悉的朋友感觉画E-R图无从下手: 我个人根据一些资料整理了一下关于使用PowerDesigner工具对ER图的 描述 及用法 示例:希望对,对E-R图并不是很熟悉的朋友有所帮助吧….

2012-01-09

Java线程详细总结

线程是Java的一大特色,从语言上直接支持线程,线程对于进程来讲的优势在于创建的代价很小,上下文切换迅速,当然其他的优势还有很多,缺点也是有的。

2012-01-09

Java 详细操作文件源码

该示例详细的表示了 文件的新建、删除、移动、复制. 文件夹的新建、删除、移动、复制.

2011-12-28

空空如也

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

TA关注的人

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