![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
我爱大海V5
从事互联网工作
展开
-
适用于Java程序员的通信顺序进程
转载:http://blog.sina.com.cn/s/blog_4c081faa010008q8.html然使用 Java语言进行多线程应用程序编程并不难掌握,但是许多开发人员都在为了正确地应用它们而挣扎。结果,多线程程序要比我们想像的更容易发生细微的错误,这导致一些开发人员为了避免使用多线程而不惜代价,即使在并发和平行能够很明显能够产生最好的设计的时候,他们也不采用多线程转载 2013-11-21 12:16:42 · 1069 阅读 · 0 评论 -
Java中HashMap遍历的两种方式
原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next();原创 2014-03-16 23:14:56 · 696 阅读 · 0 评论 -
RunTime.getRunTime().addShutdownHook用法
转载: http://blog.csdn.net/wgw335363240/archive/2010/08/31/5854402.aspxRuntime.getRuntime().addShutdownHook(shutdownHook); 这个方法的含义说明: 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addS转载 2014-08-05 18:22:25 · 652 阅读 · 0 评论 -
java的System.getProperty()方法可以获取的值
java.versionJava运行时环境版本java.vendorJava运行时环境供应商java.vendor.urlJava供应商的 URLjava.homeJava安装目录java.vm.specification.versionJav原创 2014-08-05 17:30:43 · 491 阅读 · 0 评论 -
java.util.Locale
转自http://bhsc.happy.blog.163.com/blog/static/10438955220093981612329/自java.util.Locale 2009-04-09 20:16分类:Java字号: 大大 中中 小小语言和地理环境对我们的文化产生重要影响.我们同他人之间的交流以及生活中的事件都发生在语言和地理环境所产生的一原创 2014-08-05 17:56:43 · 2858 阅读 · 0 评论 -
java.awt.headless 模式
1. 什么是 java.awt.headless?Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。2. 何时使用和headless mode?Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的原创 2014-08-05 17:54:20 · 3094 阅读 · 0 评论 -
JDK中rt.jar、tools.jar和dt.jar作用
http://blog.csdn.net/happytengfei/article/details/8676719转载 2014-08-05 17:25:01 · 936 阅读 · 0 评论 -
Thread的setDaemon(true)方法的作用
定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。设置:通过setDaemon(true)来设置线程为“守护线程”;将一个用户线程设置为守护线程的方式是在 线程对象创建 之前 用线程对象的setDaemon方法。example: 垃圾回收线程就是一个经典的守护线程,当我们的程序中不再有任何运行的T转载 2014-08-05 18:16:46 · 1452 阅读 · 0 评论 -
java中关键字volatile的作用
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A)=========================分割线1============原创 2014-08-20 09:56:23 · 444 阅读 · 0 评论 -
CyclicBarrier介绍
转载连接一:http://www.iteye.com/topic/980944 CyclicBarrier介绍 (一)一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用原创 2014-12-18 14:44:35 · 499 阅读 · 0 评论 -
java反射详解
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名123456789101112131415package Reflect;转载 2015-06-16 11:26:08 · 557 阅读 · 0 评论 -
深入研究Java类加载机制
版权声明:本文为博主原创文章,未经博主允许不得转载。深入研究Java类加载机制 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。 一、简单过程 Java程序运行的场所是内存,当在命令行下执行:ja转载 2016-03-17 12:21:59 · 301 阅读 · 0 评论 -
HashMap实现原理分析
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离转载 2016-11-03 11:40:59 · 240 阅读 · 0 评论 -
Java常用排序算法/程序员必须掌握的8大排序算法
本文由网络资料整理而来,如有问题,欢迎指正!分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。先来看看8种排序之间的关系: 1.直接转载 2016-11-02 16:21:11 · 193 阅读 · 0 评论 -
排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:public class QuickSort {/*** 快速排序*@param strDate*@param left*@param right*/publicvoid quickSort(String[] strDate,int left,int right){Stringmiddle,temp原创 2014-03-10 15:43:20 · 3420 阅读 · 0 评论 -
java.util.concurrent.locks 接口 Condition
public interface ConditionCondition 将 Object 监视器方法(wait、notify 和notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Obje原创 2014-03-07 13:47:26 · 1149 阅读 · 0 评论 -
Java多线程学习——Condition的使用
Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。 条件(也称为条件队列 或条件变原创 2014-03-07 11:22:01 · 654 阅读 · 0 评论 -
Thread_wait、notify、notifyAll的使用方法
文章出处 :http://qify.iteye.com/blog/1679671wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态。这三个方法最终调用的都是jvm级的native方法。随着jvm运行平台的不同可能有些许差异。•如果对象调用了wait方法就会使持有该对象的线程把该对象的控制权交出去,然后处于转载 2013-11-21 14:07:40 · 767 阅读 · 0 评论 -
JVM 知识点题目解答之一
http://www.iteye.com/topic/1119390因最近一直在学习 JVM,看到 BlueDavy 的一篇文章 JVM知识点题目,于是便激起了我去解答的兴趣。 字节码的加载 1、写一段将目录中指定的.class文件加载到JVM的程序,并通过Class对象获取到完整类名等信息; 对于 ClassLoader 的加载机制、过程及双亲委派模型等这转载 2013-11-21 15:43:18 · 794 阅读 · 0 评论 -
学习笔记:JAVA RMI远程方法调用简单实例
http://blog.csdn.net/leslies2/article/details/6436847RMI的概念RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外 一台计算机上的对象来获取远程数据。RMI是Enterprise Java转载 2013-11-22 09:45:17 · 810 阅读 · 0 评论 -
java 多线程 CountDownLatch用法
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定原创 2013-11-25 15:09:25 · 1927 阅读 · 0 评论 -
BigDecimal用法详解
http://www.cnblogs.com/linjiqin/p/3413894.html一、简介Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业转载 2013-11-28 10:57:19 · 647 阅读 · 0 评论 -
Java动态代理一——动态类Proxy的使用
http://www.cnblogs.com/linjiqin/archive/2011/02/18/1957600.html1.什么是动态代理?答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是转载 2013-11-28 11:00:29 · 610 阅读 · 0 评论 -
java动态代理学习笔记
没事的时候翻看lang.reflect包下的代码,发现有两部分内容:涉及反射和动态代理。 很多地方都可以看到动态代理的影子,只是一直没仔细看下。 在学习之前,先提出几个问题,带着问题来看代码: 1.什么是动态代理? 2.为什么使用动态代理? 3.使用它有哪些好处? 4.哪些地方需要动态代理? --------------------分隔线----------转载 2013-11-28 11:28:54 · 529 阅读 · 0 评论 -
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类原创 2013-11-28 16:24:42 · 553 阅读 · 0 评论 -
JAVA高级特性总结
1.File类可以完成对文件、目录的操作,新建、删除、重命名文件、目录等,但不能访问文件本身的内容,访问文件本身内容需要使用输入输出流,对于Java来说文件和目录都是一个概念。2.Window的路径分隔符使用反斜线(\),而Java的程序中反斜线表示转义字符,所以如果要使用反斜线应该用两条线(\\),或者只是用正斜线(/)。3.字节流一InputStream和OutStream作为原创 2013-11-28 11:26:41 · 4946 阅读 · 0 评论 -
Java 动态代理机制分析及扩展,第 1 部分
http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/Java 动态代理机制分析及扩展,第 1 部分本文通过分析 Java 动态代理的机制和特点,解读动态代理类的源代码,并且模拟推演了动态代理类的可能实现,向读者阐述了一个完整的 Java 动态代理运作过程,希望能帮助读者加深对 Java 动态代理的理解和转载 2013-11-28 11:55:15 · 550 阅读 · 0 评论 -
Java语言与C++语言的差异总结
Java的设计者曾说过,设计这门语言的灵感主要来自于C++。世上先有C++,然后才有Java,整个Java语言的发展历史就是一部对C++的填坑史。所以在Java语言学习过程中,将其与C++语言对比是一件有意义的事情。通过这些对比,我们能够了解到Java语言相对于C++语言有哪些改进,能带给我们哪些进步,这样对于更加深入理解这两种语言是大有裨益的。 下面我总结一下Java语言转载 2014-01-23 08:58:07 · 570 阅读 · 0 评论 -
JAVA5多线程---Condition使用---线程通信
线程之间除了同步互斥,还要考虑通信。在Java5之前我们的通信方式为:wait 和 notify。那么Condition的优势是支持多路等待,就是我可以定义多个Condition,每个condition控制线程的一条执行通路。传统方式只能是一路等待。我们可以先分析下Java5 Api中的缓冲队列的实现:假定有一个绑定的缓冲区,它支持 put 和 take 方法。如果试图在空的缓冲区上执行t原创 2014-03-07 11:28:57 · 617 阅读 · 0 评论 -
Java并发之读写锁Lock和条件阻塞Condition的应用
Java 5中提供了另一种实现线程同步或互斥的机制,即使用Lock和Condition。Lock比传统线程模型中的synchronized方式更加面向对象,也提供了更多可选择的锁机制。与生活中的锁类似,锁本身也是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须使用同一个Lock对象。锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中。 Lock使用示例原创 2014-03-07 11:38:57 · 697 阅读 · 0 评论 -
JAVA实现最短距离算法之迪杰斯特拉算法
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/50889670http://www.llwjy.com/blogdetail/9f4acca84ef514bdc8c2abb695cdf56f.html个人博客站已经上线了,网址 www.llwjy.com ~欢迎各位吐槽~-------------------转载 2016-11-02 18:29:34 · 955 阅读 · 1 评论