自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (13)
  • 收藏
  • 关注

原创 Java中Runtime运行时环境机制总结

最近由于在编码中需要在java代码中执行linux命令,使用到了Runtime类的一些方法,也出现几个小bug,所以趁这个机会对Runtime也就是运行时环境这个类进行总结。Runtime.getRuntime()能得到一个Runtime对象实例,也就是当前运行时环境实例,这个玩艺是什么东西?java中称为虚拟机的运行时环境,这个说法很抽象,我在网上百度了很久,没有确切的说法,我感觉这个Run

2016-12-31 22:52:06 2663

原创 Java内存溢出错误(OutOfMemoryError)总结

由于java虚拟机提供了垃圾内存回收机制GC,这令使用java的开放者明显比较少地遇到内存溢出的错误,所以一直以来没有系统地总结java的内存溢出的问题,最近遇到一些内存溢出错误,趁这个机会进行总结,包括一直陌生的JVM内存参数的设置。要明白java内存溢出错误的情况,首先要明白java内存的划分,见之前的文章《Java内存布局和类加载的一些总结》,简单来说就是分三个大块:堆内存,栈内存(包括

2016-12-28 09:55:12 752

原创 Java上帝类(Object类)源码总结(2)

protected native Object clone() throwsCloneNotSupportedException;克隆(拷贝)方法,Object类实现的是浅克隆,这里要提下浅克隆(浅拷贝)和深克隆(深拷贝),用一句最简单的描述:当对象a1的成员包含了对B类实例对象的引用b1时,这时如果要克隆一份a1对象给a2,只克隆对象a1的基本类型成员和引用b1时,这时a1和a2共用b1引用

2016-12-27 09:46:07 505

原创 Java上帝类(Object类)源码总结(1)

追根溯源,所有的java类都是Oject的子类,那么要进一步了解java,那么去探索Object类的源码就是不可避免的。这个神秘的Oject类里面是什么东东呢?package java.lang; public class Object {    private static native void registerNatives();   static {

2016-12-26 17:06:48 1682

原创 Java线程的阻塞,就绪和执行

Java编码中,经常遇到因为业务逻辑实现的需要会对线程进行人为的状态转换操作,最常用的就是阻塞,之前虽然用过阻塞,但是一直没有进行系统的总结。总的来说,对线程状态的转换操作分成两大类:Thread类的sleep,yield,join 方法Object类的wait,notify,notifyall 方法之前不熟悉时总是把sleep和wait混淆起来,其实两者的使用场景和机制差别很大。

2016-12-26 14:49:42 3208 2

原创 java同步锁(synchronized)机制再总结

之前在《对java多线程的线程安全性的一些总结》中对java多线程的线程安全机制做了大体上的总结,今天再对线程安全机制中的同步锁(synchronized)机制再做深入点的总结。Java中同步锁(synchronized)根据使用场景可以分成三类:方法锁,对象锁,类锁举例子比较直观方法锁:public synchronized  void fun1()    {

2016-12-25 20:18:42 1055

原创 Java异常机制总结

在java中,异常机制用的比C++频繁,但是一直没有比较系统完整地对java的异常机制作总结,使用异常的过程中总有点心里没底的感觉,这次进行一次相对完整的总结首先是java的异常机制继承体系:Java的异常机制分成两大类:error(错误)和exception(异常),这两大类都继承于一个父类Throwable。error(错误):一般是指虚拟机运行时关于虚拟机的报错,比较常见的是内存

2016-12-22 11:45:06 343

原创 Java的类的成员初始化和所谓“初始化块”初始化的步骤

C++初始化和java初始化的区别关于类和由于之前一直是C++的观念,所以对java的初始化方面了解不多,因为在C++ ,非静态成员在定义时不能直接赋值初始化,只能在构造函数中进行初始化,而静态成员要在类外以定义的方式进行初始化。Java不同,java可以在类定义时直接对静态成员和非静态成员进行赋值初始化,当然也可以在构造方法中初始化。另外C++没用所谓初始化块的概念,因为初始化工作在构造函数

2016-12-21 17:37:12 506

原创 Java接口,抽象类一些注意事项的总结

由于以前学习的C++中没有接口Interface的概念,所以对接口的一些特性不是很清楚,现在做一些总结。首先从接口的定义开始首先接口的访问权限:必须是public,而且默认是public,同样,接口里面声明的方法访问权限也必须是public,而且默认是public。另外根据实践发现,实现接口的类中的方法也必须是public权限。其次是接口的定义里面的内容:接口里不能定义变量,只能定义常

2016-12-20 11:49:17 1003

原创 java内部类的一些总结

一直对java内部类不大熟悉,代码中也很少用,有说法是,有很多公司觉得使用内部类会造成代码不够简明的问题,所以规范上禁止或要求少用内部类,个人看了内部类的一些知识后,觉得这个说法有它的实际道理,大部分正常非必需的情况下,确实不使用这玩意比较好,但是内部类又是java的一个重要模块内容,尤其是JDK中很多底层的类都用到内部类,所以还是需要去了解的,以免看源码时被卡住,但是实际开发应用中不是非常必要(

2016-12-19 17:18:03 329

原创 Cassandra分布式数据库框架总结

框架介绍:对cassandra分布式数据库的一些总结(由于cassandra资料比较少,总结只是个人理解,仅作为参考):Cassandra是NOSQL数据库的一种,是基于列族存储的轻量级分布式数据库。thrift框架:Cassandra客户端和服务端是通过thrift框架进行通信的,thrift框架是一个跨语言的服务部署框架,使用了一种中间语言IDL来定义R

2016-12-19 15:06:32 1810

原创 如何理论上从零开始设计一个去中心化的分布式数据库集群

网络上有句流行语:集齐七颗龙珠,便可召唤神龙。那么问题来了,如果从零开始设计一套分布式去中心化的数据库集群需要多少颗“龙珠”呢?答案是6颗,对你没听错,不是998,也不是888,只需6颗龙珠,你也可以从理论上拥有一个私人订制的分布式去中心化的数据库集群系统,还犹豫什么吗,赶快往下看。       怎么设计?我们需要从一个用户的角度去看问题,什么叫用户的角度,说白了就是一个key-val

2016-12-19 15:03:45 4569 1

原创 Java常用容器(数据结构)总结

一直对java的容器的继承体系不是太清楚,只是用的时候就去百度下,很少记忆。现在对常用的java容器做些总结:我们在学校时就知道常用的数据结构,顺序容器数组,链表,队列(先进先出),栈(先进后出),去重容器,关联容器,哈希表。所以就以这些作为切入java容器的入口,而且平常的代码编写中基本上也就用到这些容器而已这些容器在java中都有提供的标准容器类顺序容器数组 Lis

2016-12-16 09:20:11 1502

原创 Java实际应用中经常遇到的"装饰模式"总结

在java实际应用中,经常会遇到BufferedWriter FilterWriter = new BufferedWriter(newFileWriter("Filter.txt")); 类似的语句,尤其是在I/O操作类中,这种用新new的类包裹着旧new的类对象的形式很常见。这里用到的就是所谓的装饰模式。理论上来说,一个类A的方法能力上包含或者使用了另一个类B的方法能力,这种情况一

2016-12-16 09:18:32 1217

原创 Java多线程实现的三种方式总结

使用到java就不可避免要使用多线程,一直以来我都没对这块进行总结,每次都是使用了才百度下,我个人是非常懒得记这些应用层的东西。现在为了好好整理下java的知识点,为下一步找工作做准备就做个总结加深印象吧。Java的多线程实现方式有三种:1.      直接继承Thread(class MyThread : extends  Thread),并且重写run方法,然后new出

2016-12-16 09:17:21 428

原创 Java内存布局和类加载的一些总结

Java内存布局和类加载的一些总结对C++程序的内存布局比较清楚,但是对java程序的内存一直比较模糊,原因是个人一直不大重视对java的深入学习,这可能也是一部分学习C++出身的人的傲慢与偏见的表现,这两天根据以前对C++内存模型和链接机制的经验,对java的内存布局和类加载机制(某种程度用动态链接的方式替代了C++静态链接的作用)做了些总结。Java程序从大的角度划分,分成

2016-12-16 09:15:56 432

原创 对java内存回收机制的一些总结

之前一直对java内存回收机制比较模糊,首先是对java的代际划分不大清楚,这两天有时间看了些文章,总结了下,其实代际划分死记硬背容易忘掉,融合java的回收设计思想比较容易理解和记忆,java的内存回收设计思想就是按对象被使用的时间价值或者说权重从小到大进行代际划分。Java为了更有效率利用内存,提升内存回收的效率,把对象按照生命周期分成了三大代际区:新生代:新生代分成两块,

2016-12-16 09:14:22 465

原创 对java多线程的线程安全性的一些总结

一直以来对java的线程安全都有点模糊,知道最近写程序时发现在处理大数据的时候,基本上都不可能离开多线程,而线程安全的忽略对数据的准确性产生比较严重的影响,在这里,对JAVA的线程安全做初步总结,以避免以后的代码中出现线程安全问题。线程安全主要出现在两个方面:1.      多线程,同时使用公共变量时,出现线程私自拷贝公共变量,导致公共变量出现不唯一的情况,线程为了提高效率,将

2016-12-16 09:13:20 531

原创 如何快速对50亿条话单进行去重(布隆过滤器测试报告)

对于实时话单而言,巨大的数据量和无规则的重发单导致如何对海量数据进行过滤成为一个难题,对于某大地市而言,一个月的话单量能达到50亿到60亿条话单。如果每条话单都去持久化数据库中查找,效率非常低下,如果存放在内存中,目前还没有生产主机的内存能容纳这么巨量的话单,即使存放的是比较短的话单id(保守估计每个id是80个字符组成的字符串,加上String类型的冗余属性可能达到100个字符),需要的总内存为

2016-12-16 09:10:11 3562 1

struts2+mysql图书馆管理系统

struts2 图书馆管理系统 struts2 图书馆管理系统 struts2 图书馆管理系统

2011-09-23

flex写的计算器

flex写的计算器flex写的计算器flex写的计算器flex写的计算器flex写的计算器flex写的计算器flex写的计算器flex写的计算器flex写的计算器flex写的计算器

2011-09-21

四天学会ajax_ajax教程

四天学会ajax_ajax教程四天学会ajax_ajax教程

2011-09-15

VC 数据库 VC 数据库

学习VC数据库好书学习VC数据库好书学习VC数据库好书学习VC数据库好书学习VC数据库好书

2010-11-18

java画板 比较简单的画板

java画板 比较简单的画板 ,初学者可以借鉴下!java画板 比较简单的画板 ,初学者可以借鉴下!java画板 比较简单的画板 ,初学者可以借鉴下!

2010-10-16

java 写的吹泡泡 java界面小游戏

java 写的 吹泡泡 java界面 小游戏 java 写的 吹泡泡 java界面 小游戏 java 写的 吹泡泡 java界面 小游戏java 写的 吹泡泡 java界面 小游戏

2010-10-15

java音乐播放器

java音乐播放器

2010-10-09

Java 挂钟 钟表 程序

Java 挂钟 钟表 程序Java 挂钟 钟表 程序Java 挂钟 钟表 程序Java 挂钟 钟表 程序

2010-09-25

简单的java录制屏幕(截屏)并回放程序

java 录制屏幕 截屏 并 回放 程序(把图片的保存路径名改了就能用)学习!

2010-09-22

Java 蚁群算法 Java 写的 蚁群算法 图形界面 学习

蚁群算法 Java 写的 蚁群算法 图形界面 学习Java 写的 蚁群算法 图形界面 学习

2010-09-17

五子棋vc五子棋很小很vc五子棋很小很

vc五子棋很小很vc五子棋很小很vc五子棋很小很vc五子棋很小很

2009-09-08

陨石撞飞机陨石撞飞机陨石撞飞机

VC++陨石撞飞机陨石撞飞机VC++陨石撞VC++陨石撞飞机陨石撞飞机飞机陨石撞飞VC++陨石撞飞机陨石撞飞机机

2009-05-30

C++可视化window小程序

很小的C++可视化window小程序C++可视化window小程序

2009-05-27

空空如也

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

TA关注的人

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