自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 GitHub 4W+ star 的 IT 书籍,一起收藏一下吧

https://github.com/justjavac/free-programming-books-zh_CN

2019-03-14 16:20:16 435

转载 对I/O的理解:顺序与随机

找到一篇译文,很生动得解释了顺序IO 与随机IO。Storage for DBAs: Ever been to one of those sushi restaurants where the food comes round in dishes on a conveyor belt? As each dish travels around the loop you eye it up and...

2019-01-30 11:25:40 535

转载 深入理解数据库磁盘存储(Disk Storage)

转载:https://blog.csdn.net/idber/article/details/8087473

2019-01-29 17:36:43 785

原创 java基础:关于String类

区别于java中的基本类型,用来表示字符串类型的这个String可谓是独树一帜,玉树临风。估计搞java的用到的最多的,或者面试中遇到最多的,就是这个String了,今天,我们就好好会一会这个String类。到底创建了几个对象一般的,我们创建String对象的方式有两种:方式一:String str1 = “abc”;方式一:String str2 = new String(“abc”); 两种

2017-07-11 17:14:22 298

转载 spring事务详解

什么是事务事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得数据库从一种状态转换成另一种状态。事务有四个特性:ACID ● 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。● 一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态

2017-07-06 16:02:08 286

原创 java基础:关于遍历 -- for 、foreach 和 Iterator

三种遍历的使用形式在java中,关于数组以及容器类的遍历有三种形式,在此我们以为例: ArrayList<String> arr = new ArrayList<String>(); arr.add("1"); arr.add("2"); arr.add("3"); arr.add("4");for形式遍历 for (int i = 0 ;

2017-06-29 17:40:50 1419

原创 关于java多线程浅析七:CountDownLatch的原理分析和使用

什么是CountDownLatchCountDownLatch与CyclicBarrier一样,也是一个用与同步的辅助类,它的使用场景是:在一个或者一组其他线程没有执行完毕之前,使当前线程进行等待,只有其他的线程全部完成执行完毕后,当前线程才能继续进行。前一篇我们介绍了CyclicBarrier,在这里说一下CountDownLatch与CyclicBarrier的区别。CyclicBarrier

2017-06-19 19:05:37 409

原创 关于java多线程浅析六: CyclicBarrier的原理分析和使用

什么是CyclicBarrier上一篇文章中介绍完了Condition条件,这篇文章就介绍一下使用到了Condition了的CyclicBarrier同步辅助类。CyclicBarrier翻译过来可以理解成“关卡”、“屏障”。想象这样一个场景:100米赛跑比赛上,有4名运动员参见比赛,比较公平的赛法是——等待大家都做好起跑动作,准备好时,裁判员再发信号枪,然后大家一起跑。而在多线程的场景下,每一个运

2017-06-09 14:37:38 901

原创 关于java多线程浅析五: Condition条件

java.util.concurrent 包在java语言中可以说是比较难啃的一块,但理解好这个包下的知识,对学习java来说,不可谓是一种大的提升,我也尝试着用自己不聪明的脑袋努力的慢慢啃下点东西来。其实 java.util.concurrent 包中,最核心的就是AQS( AbstractQueuedSynchronizer) 这个抽象类,可以说是整个JUC包的基石,但今天先不说AQS,我先从比

2017-06-06 15:27:50 2020 2

原创 java基础:关于final关键字

final 关键字首先,我们先来区分一下,final finally关键字与finalize()方法之间的区别。他们三者唯一的相同点就是都是final这几个字母打头,其他就没有什么相同点了。finally关键字是异常处理时用到的,语义是用finally修饰的代码块一定会被执行,不管是否产生异常。所以一般关于各种流、数据库连接的关闭还有lock的unlock操作都写在该代码块中。finalize(

2017-06-01 15:35:59 567

原创 java基础:继承关系类加载顺序问题

/** * Created by fei on 2017/5/31. */public class SonClass extends ParentClass{ public SonClass(){ System.out.println("SonClass's constructor"); } { System.out.println("SonClass'

2017-05-31 16:02:36 799

原创 idea 常用快捷键

Alt+回车 导入包,自动修正 (这个是个经常用到快捷键,很方便,比如代码快速生成返回值类型) Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Ctrl+O 重写父类方法 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C 最近更改

2017-05-27 16:50:55 251

原创 windows 环境下使用ultraedit远程编辑linux文件

Linux下掌握vim确实是一项必不可少的技能,但诚然,用习惯了windows下的 ctrl+c 、ctrl+v了再用vim确实也是一项挑战。但最大限度的提高效率对学习与工作都是重要的。下面就整理一下怎么在windows 环境下使用ultraedit远程编辑linux文件,过程很easy。在菜单栏选择FTP–>从FTP中打开,或者账户管理 点击账户按钮,弹出账户管理器,然后填入具体信息,服务器地址

2017-05-23 17:54:49 3416

原创 E325: ATTENTION Found a swap file by the name

今天在自己鼓捣nginx,vim nginx.conf 文件的时候,突然出现了这个错误,因为是自己练习,知道肯定不是因为有其他人正在编辑这个文件,那就是因为上次vim的时候,没有完全退出中途产生中断了。解决问题的方式很简单,就是把这个后缀swp的文件删掉就可以了,但是看到下面的警告界面中的几个提示,用法有点模糊不清,特地整理一下,以方便以后查阅。E325: ATTENTIONFound a swa

2017-05-23 16:45:50 6987 3

原创 关于java多线程浅析四:ThreadLocal

什么是ThreadLocal ?乍一看,ThreadLocal这个单词还以为根据直译是”本地线程”,是一个线程?其实不然,其实ThreadLocal可以理解成一个工具,一个操作每个线程中都独有的map的入口。与同步机制不同,ThreadLocal提供了另一种针对多线程访问变量冲突问题的解决思路。同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份

2017-05-23 15:15:09 467

原创 关于java多线程浅析三:每个对象都有的方法

先明确一下一些基本的概念。 1 串行、并行与并发的区别: 不搞那些晦涩的定义,讲一个简单的例子,可能不恰当,但基本上是这个意思。 就拿一个很简单的例子来说吧,下班回家后,你想做饭,但你又想打晋级赛,你想了想,算了,还是打完了晋级赛再做饭吧,好吧,这就是串行,做完一件事再做另外一件事;还有一种方法是,你选择玩亚索发大招的瞬间抽个空去厨房把菜洗了,当然你会死的很惨,这样打一会LOL再洗个菜,然后

2017-05-11 23:44:24 527

原创 关于java多线程浅析二:线程的状态

了解线程的状态,是学习多线程的基石。前文说过,线程的存在,就是希望程序能够更有效的利用CPU的资源,但我们都知道,CPU的资源只有一份,调度好线程对资源的合理利用和占用是很困难的。使用线程的时候,我们应该确保线程之间的耦合,确保一个线程不应该干扰另一个线程的执行,确保同步锁的获得与释放都是井然有序的。比如一个线程获取了一个同步锁而正在运行时,那么另外想要获取该同步锁的线程就要进行阻塞等待。这里就涉及

2017-05-11 16:27:40 666

原创 关于java多线程浅析一:简单实现生产消费模式

关于什么是线程,这里就不过多介绍了。但为什么要用多线程呢?原因无他,就是希望更好的利用CPU资源。当然,多线程在模拟很多实际场景下,也是一把利器,就比如生产-消费模式,使用不同的线程来充当生产者和消费者,就很容易实现一个简单的生产-消费模型。说到此,那我们就先利用线程中的wait()和notifyAll()方法来实现一个简单的生产-消费模式,之后再从最基本的线程的基本状态讲起。多线程简单实现生产-消

2017-05-11 15:01:05 2948

原创 No enclosing instance of type * is accessible. Must qualify the allocation with an enclosing instanc

今天在一位大神的博客中学习多线程的知识,其中有一段关于线程中sleep()方法的测试代码,内容如下:public class SleepLockTest{ private static Object obj = new Object(); public static void main(String[] args){ ThreadA t1 = new Threa

2017-05-10 11:18:02 2117

原创 ActiveMQ安装与Spring整合

一ActiveMQ安装1.下载ActiveMQ进入http://activemq.apache.org/下载ActiveMQ 2.什么是ActiveMQActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然

2017-05-08 11:51:50 836

原创 垃圾回收机制

一关于引用的算法1 什么是引用在JDK1.2之后,java对引用的概念进行了扩充,将引用根据引用强度分为了4种引用,分别是:强引用、软引用、弱引用、虚引用。在这里分析垃圾回收关于引用的算法时,我们先抛开这些具体的分类,只是从引用的概念模型上进行分析。这里的引用就简单的指如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。接下来我们看一下引用计数与可

2017-05-05 20:22:35 562

原创 JVM内存模型

前面的文章中讲到,JVM内存结构中每个区域都担当着不同的角色。弄清楚这些区域的功能和各自的生命周期对java语言的使用是很有必要的。一 程序计数器程序计数器(Program Counter Register),它是java虚拟机规范中唯一一个没有规定任何OutOfMemoryError情况的区域。每一个线程都有一个独立属于自己的程序计数器,它是线程私有的,所以它是随着线程的创建而创建。当线程执行一个

2017-05-04 13:55:36 632

原创 初识JVM

一 JVM简单介绍JVM是Java Virtual Machine的简称。意为Java虚拟机 虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统 下面是从百度百科上扒下来的: Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入

2017-04-28 14:22:25 557

原创 Tomcat 7.0.12 报错 org.apache.catalina.deploy.WebXml addFilter

今天工作的时候从SVN新下载了一个项目,用的Tomcat 7.0.52 启动的,虽然项目能启动,但是有些页面报java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [***] and base URI [null] to a known, local entity.是因为 自从7.0.

2017-04-28 10:36:54 3450

原创 centos 7 安装JDK 1.8

一 关于centos 7 的防火墙因为平常自己在自己电脑上的虚拟机做练习,习惯将Linux的防火墙关上.centos 7 的防火墙做了升级,使用的是firewall. 1.关闭防火墙: systemctl stop firewalld.service2.关闭防火墙开机启动: systemctl disable firewalld.service3.还可以安装iptable防火墙: yum

2017-04-27 11:03:38 690

原创 redis集群搭建

一 redis安装(1) redis c 语言开发的. 所以安装redis需要C语言的编译环境 在线安装: yum install gcc-c++ (2)将下载好的redis-3.0.0.tar.gz解压缩 解压缩命令: tar -zxvf redis-3.0.0.tar.gz (3)编译 进入redis解压缩后的源码目录,执行make操作 (4)安装 make insta

2017-04-25 11:24:20 1047

原创 Nginx 安装

一 安装环境1.本次安装使用centOS 7 作为安装环境 2.安装Nginx所需要的库文件gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc 安装命令 : yum install gcc-c++ PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼

2017-04-21 13:44:04 721

nginx-1.8.0.tar.gz

nginx-1.8.0.tar.gz

2017-06-07

空空如也

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

TA关注的人

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