自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhoxing

https://github.com/zhoxing-ms

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

转载 Java中的引用

1、强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。下面有两种强引用方式:[code]Object object = new Object();String s

2016-02-29 23:22:05 380

原创 Java中的内存泄漏

一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图的方

2016-02-28 23:57:24 401

转载 Java IO和NIO

当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 引用我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。Java NIO和IO的主要区别 下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。 ION

2016-02-28 23:00:49 390

原创 结束Thread

结束一条 Thread 有什么方法? interrupt 底层实现有看过吗?线程的状态是怎么样的?如果给你实现会怎么样做?stop方法已经是一个废弃的方法,它是一个不安全的方法。因为调用stop方法会直接终止run方法的调用,并且会抛出一个ThreadDeath错误,如果线程持有某个对象锁的话,会完全释放锁,导致对象状态不一致。所以stop方法基本是不会被用到的。Thread提供的inte

2016-02-28 21:10:48 741

原创 java的反射机制

反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力,即程序可以在运行时访问、检测和修改它本身状态或行为的一种能力。通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。下面具体介绍一下java的反射机制。这里你将颠覆原来对java的理解。 Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method;其中class代表的时类对 象,C

2016-02-27 18:50:20 335

原创 Thrift框架

Thrift是啥?        Thrift 最初是由 Facebook 开发用做系统内各语言之间的RPC通信的一个可扩展且跨语言的软件框架,在2007年提交Apache基金会作为一个开源项目。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaSc

2016-02-26 17:38:03 756

原创 MAVEN 到 Tomcat的自动部署

1.Maven:Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。部署基于Maven的war文件到Tomcat:1.1 Tomcat 认证添加具有角色管理器GUI和管理脚本的用户。%TOMCAT7_PATH%/conf/tomcat-users.xml1.2 Maven 认证添加在上面Maven 设置

2016-02-25 18:27:40 359

原创 RPC的理解

由于在项目中遇到需要将两个不同体系的服务器,Java和php之间进行通信,php要调用java的API,于是需要找到一种方法解决通信问题。通过google知道facebook使用了thrift框架来处理多编程语言的后台系统的业务,于是引发了我对RPC框架的了解和学习.

2016-02-24 16:52:27 1088 2

原创 restful API设计思想

Web API已经在最近几年变成重要的话题,一个干净的API设计对于后端系统是非常重要的。通常我们为Web API使用RESTful设计,REST概念分离了API结构和逻辑资源,通过Http方法GET, DELETE, POST 和 PUT来操作资源。它是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简

2016-02-23 21:08:21 1885

原创 Redis缓存Session

在项目里碰到了两个独立的服务器与一个客户端共享Session的问题,于是找到了一种解决方案,使用Redis来代替Session: 1.Redis概述 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些

2016-02-23 13:44:00 8232 1

原创 全双工的WebSocket

WebSocket 概述WebSocket 协议本质上是一个基于 TCP 的协议。为了建立一个 WebSocket 连接,客户端浏览器首先要向服务器发起一个 HTTP 请求,这个请求和通常的 HTTP 请求不同,包含了一些附加头信息,其中附加头信息”Upgrade: WebSocket”表明这是一个申请协议升级的 HTTP 请求,服务器端解析这些附加的头信息然后产生应答信息返回给客户端,客

2016-02-22 21:19:49 1633

原创 BitMap

今天在做剑指offer习题的时候,我突然看到这样一段话:前面的代码中,我们都是用一个char型字符表示十进制数字的一位。8个bit的char型字符最多能表示256个字符,而十进制数字只有0-9的10个数字。因此用char型字符串来表示十进制的数字并没有充分利用内存,有一些浪费。有没有更高效的方式来表示大数。    这段话引导我去思考处理大数问题的更好的解决方法。我认为BitMap应该是种不

2016-02-15 17:05:16 931

原创 Java compareTo和compare

今天在OJ上刷了点算法,用到了面向对象的编程思想,于是将一些数据封装成一个类。此类继承了Comparable接口,我重写了compareTo函数。我将代码写完后一直AC不了。我在讨论区看到了别人分享的代码,和我思想差不多。但我一直Wrong。后来仔细分析可能会是  Arrays.sort()排序的问题。就是compareTo的实现.     Comparable是一个对象本身就已经支持自比

2016-02-08 17:26:29 830

原创 TCP状态详解

1、TCP状态linux查看tcp的状态命令:1)、netstat -nat  查看TCP各个状态的数量2)、lsof  -i:port  可以检测到打开套接字的状况3)、  sar -n SOCK 查看tcp创建的连接数4)、tcpdump -iany tcp port 9000 对tcp端口为9000的进行抓包

2016-02-04 22:06:11 554

空空如也

空空如也

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

TA关注的人

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