自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Think In JAVA—Max

Best Or Nothing

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux 系列(六)——Nginx实现多虚拟主机配置

一、Nginx的应用概述Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有以下3方面的应用:1、http服务器Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。2、虚拟主机可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。3、反向代理,负载均衡当网站的访问量达到一定

2016-05-31 21:15:16 11446 1

原创 使用Nginx实现反向代理

一、代理服务器1、什么是代理服务器代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。2、为什么要使用代理服务器1)提高访问速度    由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代

2016-05-31 21:11:44 34400 8

原创 Linux 系列(五)——JDK & Tomcat & Solr的安装

    最近项目中使用solr提供全文检索服务,研究了研究,从安装开始使用Solr。因为Solr是一个使用java开发的web项目,启动solr服务需要提供web容器、JDK两个java web环境,下面是JDK、Tomcat、Solr在Linux环境下的安装。一、Linux 安装JDK使用jdk-7u55-linux-i586.tar.gz 在Liunx系统中安装JDK1

2016-05-28 16:23:34 2485 4

原创 Spring项目中添加Redis服务与缓存同步问题

一、Redis应用场景     本项目使用Redis对图片进行缓存存储,展示图片时,先根据图片ID去Redis缓存中查取,没有再查数据库,同时将该图片set进Redis。     使用Spring 容器对Jedis进行管理。二、Redis与Spring整合1、新建applicationContext-jedis.xml配置文件,用于配置Redis连接信息和构造方法参数,实例化Jed

2016-05-25 09:38:44 6730 1

原创 Linux 系列(四)——Redis 集群运维及java整合

一、Redis集群操作1、开启Redis集群1)执行上文中编写好的shell脚本,先将redis服务全部开启2)执行redis01/redis-cli -h 192.168.132.128 -p 7005 -c启动01节点客户端连接集群2、查看Redis集群节点进程 3、关闭Redis集群1)单机中,直接cd到redis/bin下,执行redis-cli连接到服务器,

2016-05-24 21:30:44 1852 1

原创 Linux 系列(三)——Redis 分布式集群搭建

Java 数据结构在Redis的安装和部署(Linux)一文中详细介绍了在Linux环境中搭建Redis服务,本文将介绍关于Redis分布式 集群搭建细节。一、Redis集群架构1、Redis集群架构图蓝色的为Redis集群中的每个node节点,节点之间通过ping 命令,测试相互是否连接正常,普通集群没有主从区分,连接任何一个节点操作,都可以转发到其他

2016-05-24 20:49:37 16590 3

原创 Linux 系列(二)——FTP安装手册

一、下载tar包,上传解压1、下载压缩包vsftpd-3.0.2.tar.gz2、将压缩包上传到Linux,使用tar zxvfvsftpd-3.0.2.tar.gz命令将其解压。笔者上传并解压到lamp文件路径下。二、编译安装1、进入lamp/vsftpd-3.0.2,依次执行./configure 命令-监测安装相关的配置和平台,Make-执行编译,最后make i

2016-05-21 11:39:53 936 1

原创 Linux 系列(一)——Nginx 安装手册

Nginx ("engine x") 是一个高性能的HTTP(处理静态文件)和反向代理(负载均衡)服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx官网上(http://Nginx.com/company/)列出了诸如Facebook,GitHub,Groupon,Dropbox等,国内的大互联网公司,如百度、腾讯、阿里巴巴基本上都应用Nginx。本文将从基础开始,

2016-05-21 10:43:23 1053 1

原创 JAVA IO——对象序列化解析及项目实战

对象一经创建,如果程序需要就一直存在,直到程序终止。java的对象序列化将那些实现了Sserializable接口的对象转换成一个字节序列,并能通过该序列还原出原来的对象,且跨平台。也就是说,从Windows上序列化一个对象到Linux上反序列化,仍能准确获得该对象。       对象序列化加入到java中主要为了支持两种特性:远程方法调用RMI和JavaBean,。调用远程的对象就像调用本机

2016-05-16 20:44:02 1245 1

原创 JAVA Socket 编程

java.net包主要用于进行网络处理、Socket通信、Cookie、URI等网络通信解决方案。     今天主要抛块砖,对于网络编程这块内容进行一个简单的认知性总结。很浅显,网络编程大牛可绕过。一、创建Socket客户端连接到服务器try (Socket s=new Socket(host,port){ InputStream inStream=s.getInputStrea

2016-05-16 16:09:55 1003 1

原创 java线程深度解析(七)——并发数据结构

一、并发List1、Vector在java核心数据结构(一)——List类族一文中已经提到List类簇中ArrayList和Vector的主要区别就是Vector的大部分实现都支持线程安全,代码也展示了一部分。另外如果使用到ArrayList有需要进行线程安全控制,可以调用Collections.synchronizedList(arrayList)传入ArrayList。2、

2016-05-15 10:23:45 1577 1

原创 java核心数据结构(三)——Set类族

一、Set核心实现类如上图,Set和List是Collection接口的两个分支,比较重要且频繁使用的有HashSet、LinkedHashSet和TreeSet。比较鲜明的特点就是整个Set以及它的实现类中,集合中的元素是不能重复的,还有一个比较有意思的点在于,Set中的主要实现类都是对Map实现类的封装,例如HashSet封装了HashMap,LinkedHashSet封装了L

2016-05-14 21:07:05 934 1

原创 java核心数据结构(二)——Map类族

Map类族的类图关系: 跟List 和Set 不同的是,Map接口并不继承于Collection接口,它有一套自己的实现。抽象类AbstractMap实现了Map接口,同时有EnumMap、HashMap、WeakHashMap三个实现类,而LinkedHashMap又继承于HashMap.首先关注一下hashTble和hashMap的区别。两者同样实现了Map接口,但

2016-05-14 20:17:26 845 1

原创 java核心数据结构(一)——List类族

java.util包是Java的实用工具类库。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历 (Calendar)类来产生和获取日期及时间;堆栈(Stack)、向量 (Vector)、哈希表(Hashtable)等数据结构以及随机数(Random)类产生各种类型的随机数。本系列博文将着重分析util包中的相关数据结构:一、总瞰

2016-05-14 16:47:15 1243 2

原创 java线程深度解析(六)——线程池技术

一种最为简单的线程创建和回收的方法:new Thread(new Runnable(){ @Override public void run() { while(true) { try { Thread.sleep(1000);//休息1s } catch (InterruptedException e) {

2016-05-12 11:47:32 3447

原创 java线程深度解析(五)——并发模型(生产者-消费者)

三、生产者-消费者模式    在经典的多线程模式中,生产者-消费者为多线程间协作提供了良好的解决方案。基本原理是两类线程,即若干个生产者和若干个消费者,生产者负责提交用户请求任务(到内存缓冲区),消费者线程负责处理任务(从内存缓冲区中取任务进行处理),两类线程之间通过共享内存缓冲区进行通信。     共享内存缓冲区的存在避免生产者和消费者直接通信,且允许消费者和生产者执行速度上存在

2016-05-11 20:40:22 1243 1

原创 java线程深度解析(四)——并发模型(Master-Worker)

二、Master-worker ——分而治之     Master-worker常用的并行模式之一,核心思想是由两个进程协作工作,master负责接收和分配任务,worker负责处理任务,并把处理结果返回给Master进程,由Master进行汇总,返回给客户端。    它的好处在于能把一个大任务分解成若干个小任务,并行执行,提高系统吞吐量。而对于客户端而言,一旦提交任务,mat

2016-05-11 11:39:52 2885 2

原创 java线程深度解析(三)——并发模型(Future)

多核CPU充分利用CPU性能,就需要使用多线程并行挖掘CPU的潜力,并行程序设计对常用的多线程结构进行抽象,总结出几种典型多线程开发设计模式。一、future 模式——精彩无需等待     当程序提交一个请求,服务器对这个请求的处理可能很慢,在传统串行程序中,函数调用时同步的,也就是说程序必须等着服务器返回结果才会进行下一步处理。而Future 模式采用异步调用,充分

2016-05-10 21:56:26 3324 2

原创 java线程深度解析(二)——线程互斥技术与线程间通信

在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制。一、再现多线程下安全问题先看开启两条线程,分别按序打印字符串的实验1、创建一个Output内部类,并给出根据参数name,循环打印出传入字符串2、new 两个线程,分别传入zhongailing、max两个name,

2016-05-04 11:11:08 948

转载 方法里的局部内部类为什么不能访问一般的方法里的局部变量?

从内存中看,当方法里的局部变量所在方法结束时,该变量即在栈内存中消失;而内部类其实是一个类,只有内存中对它的所有引用都消失后,该内部类才"死亡",即内部类的生命周期可能比局部变量长。如果局部内部类能访问一般的局部变量,则在多线程中,可能当方法结束后,局部内部类(是线程类时)还在使用局部变量。为了避免方法内的变量脱离方法而存在的现象发生,于是java规定局部内部类不能访问一般的局部变量。但能访问被f

2016-05-03 20:58:36 705 2

原创 java线程深度解析(一)——java new 接口?匿名内部类给你答案

一、内部类1、内部类初识一般,一个类里主要包含类的方法和属性,但在java中还提出在类中继续定义类(内部类)的概念。内部类的定义:类的内部定义类先来看一个实例public class Out { private int a=1; //定义内部类 class Inner { private int a=12; public void show() {

2016-05-03 16:57:36 3807 3

原创 JAVA技术(四)——动态代理

一、程序中的代理使用     试想如何为已经存在的类添加一些新的功能,例如日志、事务处理;这些类已经编写好,数量庞大,且实现相同接口;如果工程允许可能比较粗暴的就是直接向类中添加需要新增的代码逻辑,但现实时:添加这些功能要修改的不是一个两个类。     机智的java君采用代理解决这类繁琐的问题:1、创建一个与目标类实现相同接口的代理类,代理类的每个方法调用目标类的相同方法2、在调

2016-05-02 17:05:33 732

原创 JAVA技术(三)——自定义注解

一、Annotation     在java发展到1.8的今天,开发人员对java注解应该都不陌生,无论是SSH框架还是其他java应用,注解的存在为开发人员提供了极大的便利。Java注解是J2SE5.0中提出的新特性,就相当于一个类,使用这个注解就相当于创建了这个类的实例对象,可以加在包、类、方法、参数、成员变量上,应用非常广泛。     J2SE 5.0中提出了@SuppressW

2016-05-02 15:30:32 766

原创 JAVA技术(二)——HashSet&hashcode

一、Introspection 作为J2SE5.0提出的新特性,在介绍Introspection (内省)之前,需要先介绍JavaBean,我们常说的JavaBean跟java内省中所特指的JavaBean还是有些不同的。在内省中指的JavaBean是一种特殊的java类,主要用于传递数据信息,使用get、set方法来确定类属性。去掉set、get前缀,剩余的部分就是属性名。JDK中提供了

2016-05-02 10:58:23 896

git 客户端工具

git 客户端工具

2017-08-10

空空如也

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

TA关注的人

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