自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(445)
  • 资源 (9)
  • 收藏
  • 关注

转载 深入浅出HTTPS工作原理

 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <link rel="canonical" href="https://blog.csdn.net/a724888/article/details/79596360"/&a

2018-07-10 15:27:11 36940 8

转载 HTTP协议详解

一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html)协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议,即超文本传输协议(Hypertext transfer protoco...

2018-07-10 15:21:22 8527

转载 Java语法糖4:内部类

内部类最后一个语法糖,讲讲内部类,内部类指的就是在一个类的内部再定义一个类。内部类之所以也是语法糖,是因为它仅仅是一个编译时的概念,outer.java里面定义了一个内部类inner,一旦编译成功,就会生成两个完全不同的.class文件了,分别是outer.class和outer$inner.class。所以内部类的名字完全可以和它的外部类名字相同。内部类分为四种:成员内部类、

2016-09-21 17:07:52 666

转载 Java语法糖3:泛型

泛型初探在泛型(Generic type或Generics)出现之前,是这么写代码的:public static void main(String[] args){ List list = new ArrayList(); list.add("123"); list.add("456"); System.out.println((

2016-09-21 17:07:22 483

转载 Java语法糖2:自动装箱和自动拆箱

前言一开始想学学自动拆箱和自动装箱是被这个名字吸引到,听上去好像很高端的样子,其实自动拆箱、自动装箱是很简单的内容。 自动拆箱和自动装箱Java为每种基本数据类型都提供了对应的包装器类型。举个例子:public class TestMain{ public static void main(String[] args) { In

2016-09-21 17:06:50 449

转载 Java语法糖1:可变长度参数以及foreach循环原理

语法糖 接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖。语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了。这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能、或能提升语法的严谨性、或能减少编码出错的机会。Java

2016-09-21 17:06:16 445

转载 反射

反射的作用Java反射描述的是,在运行状态中:1、对于任意一个类,都能够知道这个类的所有属性和方法2、对于任意一个类,都能够调用它的任意一个属性和方法之所以强调属性、方法,是因为属性、方法是开发者对于一个类最关注的两个部分。实际上通过反射,不仅仅可以获知类的属性、方法,还可以获知类的父类、接口、包等信息至于反射的原理,不难,Java类加载机制一文中讲到了,一个类在加载的

2016-09-21 17:05:42 344

转载 Cloneable接口和Object的clone()方法

为什么要克隆为什么要使用克隆,这其实反映的是一个很现实的问题,假如我们有一个对象:public class SimpleObject implements Cloneable{ private String str; public SimpleObject() { System.out.println("Enter Sim

2016-09-21 17:05:03 349

转载 说说WeakReference弱引用

WeakReference弱引用概述http://www.cnblogs.com/xrq730/p/4836700.html,关于Java的四种引用状态具体请参看此文Java里一个对象obj被创建时,被放在堆里。当GC运行的时候,发现没有任何引用指向obj,那么就会回收obj对象的堆内存空间。但是现实的情况时,写代码的时候,往往通过把所有指向某个对象的引用置空来保证这个对象在下

2016-09-21 17:04:24 492

转载 JDBC学习2:为什么要写Class.forName("XXX")?

Class.forName(String name)接上一篇JDBC。本来这个内容是放在前面的一篇里面的一起的,后来发现越写越多,想想看就算了,还是单独开一篇文章好了,这样也能写得更加详细点。上一篇文章的第4点,getConnection()方法里面,我把从.properties里面获取mysqlpackage的地方替换成实际的value值,那么替换后的应该是Class.forNa

2016-09-21 17:03:42 1444 1

转载 JDBC学习1:详解JDBC使用

什么是JDBCJDBC(Java Database Connectivity),即Java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供同一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,根据这种基准可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。总而言之,JDBC做了三件事:1、与数据库建立连接2、

2016-09-21 17:03:00 457

转载 Comparable和Comparator的区别

初次碰到这个问题是之前有一次电话面试,问了一个小时的问题,其中有一个问题就问到Comparable和Comparator的区别,当时没答出来。之后是公司入职时候做的一套Java编程题,里面用JUnit跑用例的时候也用到了Comparator接口,再加上JDK的大量的类包括常见的String、Byte、Char、Date等都实现了Comparable接口,因此要学习一下这两个类的区别以及用法

2016-09-21 17:02:21 323

转载 自定义一个类加载器

为什么要自定义类加载器类加载机制:http://www.cnblogs.com/xrq730/p/4844915.html类加载器:http://www.cnblogs.com/xrq730/p/4845144.html这两篇文章已经详细讲解了类加载机制和类加载器,还剩最后一个问题没有讲解,就是自定义类加载器。为什么我们要自定义类加载器?因为虽然Java中给用户提供了很多类加载

2016-09-21 17:01:39 418

转载 讲讲HashCode的作用

前言Object提供给我们了一个Native的方法“public native int hashCode();”,本文讲讲Hash是什么以及HashCode的作用 Hash先用一张图看下什么是HashHash是散列的意思,就是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。关于散列值,有以下几个关键结论:1、如果散列表中存在和散列原始输

2016-09-21 17:00:46 404

转载 从为什么String=String谈到StringBuilder和StringBuffer

前言有这么一段代码:1 public class TestMain2 {3 public static void main(String[] args)4 {5 String str0 = "123";6 String str1 = "123";7 System.out.println(str0 =

2016-09-21 17:00:17 298

转载 System.load(String filename)和System.loadLibrary(String libname)的区别

前言之前一篇文章在写Native方法的时候,第一个步骤里面有这么一段代码?static{  System.load("D:"+ File.separator + "Hello.dll");}其实JDK提供给用户了两个方法用于载入文件,一个是System.load(String filename)

2016-09-21 16:59:50 378

转载 自己实现一个Native方法的调用

JNI开始本篇的内容之前,首先要讲一下JNI。Java很好,使用的人很多、应用极广,但是Java不是完美的。Java的不足体现在运行速度要比传统的C++慢上许多之外,还有Java无法直接访问到操作系统底层如硬件系统,为此Java提供了JNI来实现对于底层的访问。JNI,Java Native Interface,它是Java的SDK一部分,JNI允许Java代码使用以其他语言编写的代码

2016-09-21 16:58:53 473

转载 Java对象表示方式2:XStream实现对对象的XML化

上一篇文章讲到了使用Java原生的序列化的方式来表示一个对象。总结一下这种对象表示方式的优缺点:1、纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包的支持2、多语言环境下,使用Java序列化方式进行存储后,很难用其他语言还原出结果3、占用的字节数比较大,而且序列化、反序列化效率也不高前面也提到过,对象表示有各种各样的方式,序列化只

2016-09-21 16:58:17 263

转载 Java对象表示方式1:序列化、反序列化和transient关键字的作用

平时我们在Java内存中的对象,是无法进行IO操作或者网络通信的,因为在进行IO操作或者网络通信的时候,人家根本不知道内存中的对象是个什么东西,因此必须将对象以某种方式表示出来,即存储对象中的状态。一个Java对象的表示有各种各样的方式,Java本身也提供给了用户一种表示对象的方式,那就是序列化。换句话说,序列化只是表示对象的一种方式而已。OK,有了序列化,那么必然有反序列化,我们先看一下

2016-09-21 16:57:41 357

转载 static关键字作用总结

之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static。final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平时是否有钻研精神。静态变量和静态方法static关键字最基本的用法是:1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来2、被static

2016-09-21 16:56:52 341

转载 谈谈final的作用

前言一直想写写这个话题。代表公司也面试过一些求职者,每次面试我必问的两个问题之一就是“请你谈一谈对于final关键字的理解”。这是一个简单的小问题,但是不要小看它,通过对这个问题的回答以及一些简单的扩展就能看出一个求职者的基础是否扎实以及是否有钻研精神。OK,开始进入主题。 final关键字的作用相信对于final的用法,大多数人都可以随口说出三句话:1、被final修

2016-09-21 16:56:23 383

转载 谈谈多态

概述我们都知道面向对象有四个基本特性:抽象、封装、继承、多态。这四个特性,概括起来可以这么理解,抽象、封装、继承是多态的基础,多态是抽象、封装、继承的表现。多态,是Java中非常重要的一个部分,所以今天来谈一下多态(Polymorphism)。 什么是多态不同类的对象对同一消息作出不同的响应就叫做多态。就像上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好一样。

2016-09-21 16:55:43 280

转载 对一致性Hash算法,Java代码实现的深入研究

一致性Hash算法关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。算法的具体原理这里再次贴上:先构造一个长度为232的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[0, 232-1])将服务器节点放置

2016-09-20 17:17:07 378

转载 Dubbo学习小记

前言周一入职的新公司,到了公司第一件事自然是要熟悉新公司使用的各种技术,搭建本地的环境。熟悉新公司技术的过程中,首先就是Maven,这个前面已经写过文章了,然后就是Dubbo----公司的服务都是通过Dubbo来治理的。其实之前我就对SOA、RPC等分布式服务的概念有所了解,Dubbo也多多少少知道一些,不过能亲身使用那是再好不过的了。此文就对我的Dubbo学习做一个小的总结,

2016-09-20 17:14:49 513

转载 集群监控

集群监控大型互联网企业的背后,依靠的是成千上万台服务器日夜不停的运转,以支撑其业务的运转。宕机对于互联网企业来说,代价是沉重的,轻则影响用户体验,重则直接影响交易,导致交易下跌,并且给企业声誉造成不可挽回的损失。对于这些机器对应的开发和运维人员来说,即便是每台机器登陆一次,登陆那么多台机器也够呛,何况还需要进行系统指标的检查。因此,依靠人力是不可能完成24小时不间断监控服务器的任务的。

2016-09-20 17:13:28 1753

转载 几种简单的负载均衡算法及其Java代码实现

什么是负载均衡负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够平均分配客户请求到服务器阵列,借此提供快速获取重要数据,解决大量并发访问服务

2016-09-20 17:12:33 649

转载 一致性协议

2PC与3PC在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行事务操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个称为"协调者(Coordinator)"的组件来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点则被称为"参与者(Participa

2016-09-20 16:57:48 330

转载 消息中间件与JMS标准

初识消息中间件维基百科上对于消息中间件的定义是"Message-oriented middleware(MOM) is software infrastructure focused on sending and receiving messages between distrubuted systems"。解释起来就是消息中间件是在分布式系统中完成消息的发送和传递的基础软件。看张图来

2016-09-20 16:57:08 363

转载 MemCache超详细解读

MemCache是什么MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染

2016-09-20 16:55:36 310

转载 大型网站架构学习笔记

前言最近一直在拜读两本书:1、李智慧老师的《大型网站技术架构 核心原理与案例分析》2、曾宪杰老师的《大型网站系统与Java中间件实践》看了并结合自己目前的工作进行了思考,感觉获益匪浅、受益良多,自己对大型网站的理解又有了不少的加深,下面分享一下自己的学习笔记。 学习笔记1、大型网站架构的发展史(红字就是每一步发展历程的关键)(1)从一个小网站发展起来,一台服

2016-09-20 16:54:46 303

转载 NoSQL:从关系型数据库到非关系型数据库

关系型数据库所谓关系型数据库,,就是指采用了关系模型来组织数据的数据库。什么是关系模型,简单说,关系模型就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系模型中常用的概念:1、关系可以理解为一张二维表,每个关系都有一个关系名,在数据库中被称为表名2、元组可以理解为二维表中的一行,在数据库中被称为记录3、属性可以理

2016-09-20 16:53:50 810

转载 从分布式一致性谈到CAP理论、BASE理论

问题的提出在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。1、火车站售票假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行----一切似乎都是那么和谐。想象一下,如果他选择的目的地是杭州,而某一趟开往杭州的火车只剩下最后一张车票,可能在同一时刻,不同售票窗口

2016-09-20 16:52:58 301

转载 从集中式到分布式

前言随着计算机系统规模变得越来越大,将所有业务单元集中部署在一个或者若干个大型机上的体系结构物,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出现,越来越多廉价的PC机成为了各大IT企业架构的首选,分布式的处理方式越来越受到业界的青睐----计算机系统正在经历一场前所未有的从集中式到分布式架构的变革。 

2016-09-20 16:51:36 1624

转载 java的四种引用,强弱软虚,用到的场景 (r)

1、强引用(StrongReference)         强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:                                   1Object o=new Object();   //  强引用当内存空间不足,Java虚拟机宁愿抛出OutOfMe

2016-09-18 17:04:03 394

转载 java io系列26之 RandomAccessFile

本文主要介绍 RandomAccessFile。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_26.html更多内容请参考:java io系列01之 "目录" RandomAccessFileRandomAccessFile 是随机访问文件(包括读/写)的类。它支持对文件随机访问的读取和写入,即我们可以

2016-09-14 15:51:35 320

转载 java io系列25之 PrintWriter (字符打印输出流)

更多内容请参考:java io系列01之 "目录" PrintWriter 介绍PrintWriter 是字符类型的打印输出流,它继承于Writer。PrintStream 用于向文本输出流打印对象的格式化表示形式。它实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

2016-09-14 15:50:22 910

转载 java io系列24之 BufferedWriter(字符缓冲输出流)

转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_24.html更多内容请参考:java io系列01之 "目录"BufferedWriter 介绍BufferedWriter 是缓冲字符输出流。它继承于Writer。BufferedWriter 的作用是为其他字符输出流添加一些缓冲功能。BufferedWrite

2016-09-13 16:35:10 669

转载 java io系列23之 BufferedReader(字符缓冲输入流)

转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_23.html更多内容请参考:java io系列01之 "目录"BufferedReader 介绍BufferedReader 是缓冲字符输入流。它继承于Reader。BufferedReader 的作用是为其他字符输入流添加一些缓冲功能。BufferedReade

2016-09-13 16:34:49 2192

转载 java io系列22之 FileReader和FileWriter

FileReader 是用于读取字符流的类,它继承于InputStreamReader。要读取原始字节流,请考虑使用 FileInputStream。FileWriter 是用于写入字符流的类,它继承于OutputStreamWriter。要写入原始字节流,请考虑使用 FileOutputStream。转载请注明出处:http://www.cnblogs.com/skywang1234

2016-09-13 16:34:22 232

转载 java io系列21之 InputStreamReader和OutputStreamWriter

InputStreamReader和OutputStreamWriter 是字节流通向字符流的桥梁:它使用指定的 charset 读写字节并将其解码为字符。InputStreamReader 的作用是将“字节输入流”转换成“字符输入流”。它继承于Reader。OutputStreamWriter 的作用是将“字节输出流”转换成“字符输出流”。它继承于Writer。转载请注明出处:h

2016-09-13 16:34:07 265

java基础,java高级,java进阶 part1(1-2)

java基础,java序列化,java注解,java多态,注解,java反射,java代理,java多线程,JVM,java优化,java分布式

2017-09-05

java基础1111

java基础,java高级,java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程11111

2017-09-05

java基础,java高级 part2(2-2)

java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程

2017-09-05

java 总结 web mysql

java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程

2017-09-05

简单的javaweb项目

简单的javaweb项目

2017-08-08

一个简单的例子

一个简单的例子

2017-07-28

wireshark解析h.264的nal类型的lua(基于rtp协议)

使用方法: 1 确认你的Wireshark支持lua 如果Wireshark安装目录下面有init lua文件就说明支持Lua 2 将rtp h264 lua拷贝到Wireshark的安装目录下 3 需要启动对Lua的支持 默认不启动对Lua的支持 编辑 init lua文件 在“disable lua true; ”这一行前添加注释符“ ” 然后在文件的最后添加一行 dofile "rtp h264 lua" 这样 Wireshark 启动时就会自动调用 rtp h264 lua 4 最后打开wireshark 在菜单Edit >Preferences >RTP PAYLOAD中设置dynamic payload type为96即可 ">使用方法: 1 确认你的Wireshark支持lua 如果Wireshark安装目录下面有init lua文件就说明支持Lua 2 将rtp h264 lua拷贝到Wireshark的安装目录下 3 需要启动对Lua的支持 默认不启动对Lua的支持 编辑 init lua文件 在“disable lua true; [更多]

2014-09-28

J2EE核心模式

此资源详细介绍了在J2EE中的各种开发技术,以及各种开发的模式!

2013-07-03

GCC编译器,LINUX下的编译器

GCC编译器能将C、C++语言源程序、汇编程序编译、链接成可执行文件。在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。

2012-11-05

空空如也

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

TA关注的人

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