Java
hc-斌斌
这个作者很懒,什么都没留下…
展开
-
Java多线程的用法详解
1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread构造函数: public Thread( ); public Thread(Runnable target); pu转载 2015-07-15 14:24:59 · 203 阅读 · 0 评论 -
Java 之小数取整
import java.math.BigDecimal; import java.text.DecimalFormat; public class TestGetInt{ public static void main(String[] args){ double i=2, j=2.1, k=2.5, m=2.9; System.out.println(”舍掉小数取整转载 2015-08-17 15:56:51 · 1084 阅读 · 0 评论 -
Java-按值传递还是按引用传递详细解说
值传递:在方法进行调用时,形式参数是由实际参数来传递的,方法执行中形式参数值的改变不影响实际参数的值。 引用传递:就是地址传递。在方法进行调用时,实际参数的引用的是地址,而不是真正参数的值,方法执行中形式参数值的改变将会影响实际参数的值。 1:按值传递是什么 指的是在方法调用时,传递的参数是按值的拷贝传递。示例如下: [java] view plainc转载 2015-08-19 14:18:47 · 312 阅读 · 0 评论 -
JAVA--Runtime类研究
RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRuntime()方法获得与之关联的Runtime对象。 1.Runtime代表Java程序的运行时环境,可以访问JVM的相关信息,如处理器数量,内存信息。 例如如下代码:转载 2015-08-19 14:15:00 · 343 阅读 · 0 评论 -
Java高级-对象的完全复制
java的类实例拷贝有两种形式: 一种是引用拷贝。 一种是值拷贝。 例如:对于如下 A a1 = new A(t); A a = a1; 那么 a和a1都是指向的同一块内存区域。即这是一种引用拷贝。 那么如何使得a完全拷贝a1的内容,也就是实现a1到a的值拷贝呢? 目前,我了解的主要有两种方法: 1. 拷贝构造函数的方法。 即在A中要调价一种构造方法,如下:转载 2015-08-07 14:06:49 · 420 阅读 · 0 评论 -
Java 访问控制符详解
总结成两句话: 1.同一个包中的类可以构造该类的实例并用该实例访问该类自己的protected方法。 同一个包中的类可以构造该类的子类的实例并用这个子类实例访问子类自己的通过默认继承来的和该父类一样的protected方法。 2.子类可以通过构造子类自己的实例来访问子类自己的通过默认继承来的和该父类一样的protected方法。 来谈谈protected访问权限问题。看下面示例转载 2015-08-07 14:09:22 · 325 阅读 · 0 评论 -
线程池的原理及实现
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程转载 2015-10-19 16:05:47 · 278 阅读 · 0 评论 -
Java 内部类种类及使用解析
将相关的类组织在一起,从而降低了命名空间的混乱。 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。 Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner转载 2015-10-10 10:28:49 · 262 阅读 · 0 评论 -
Java WeakReference的理解与使用
在Java里, 当一个对象o被创建时, 它被放在Heap里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收以腾出内存空间. 或者换句话说, 一个对象被回收, 必须满足两个条件: 1)没有任何引用指向它 2)GC被运行. 在现实情况写代码的时候, 我们往往通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收 (可以用java -verbose:原创 2015-10-10 15:47:50 · 290 阅读 · 0 评论 -
Java之WeakReference与SoftReference使用讲解
ava 2 平台引入了 java.lang.ref 包,其中包括的类可以让您引用对象,而不将它们留在内存中。这些类还提供了与垃圾收集器(garbage collector)之间有限的交互。 1.先“由强到弱”(只的是和垃圾回收器的关系)明确几个基本概念: strong references是那种你通常建立的reference,这个reference就是强可及的。这个转载 2015-10-10 15:49:53 · 306 阅读 · 0 评论 -
JAVA面试题大全(高级)
1.Java中的异常处理机制的简单原理和应用。 当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是Java类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是Java允许程序员扩展这种语义检查,程序转载 2015-11-11 11:31:58 · 306 阅读 · 0 评论 -
JavaIO流
io流java基础基本用法 目录(?)[+] IO流 文件--基本概念 文件是数据源(保存数据的地方)的一种,比如大word文档、jpg文件、MP4文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频、声音...等 文件流--基本概念 文件在程序中是以流的形式来操作的。 流:数据在数据转载 2015-11-11 13:42:03 · 365 阅读 · 0 评论 -
Java Cache系列之Cache概述和Simple Cache
Java Cache系列之Cache概述和Simple Cache 前记:最近公司在做的项目完全基于Cache(Gemfire)构建了一个类数据库的系统,自己做的一个小项目里用过Guava的Cache,以前做过的项目中使用过EHCache,既然和Cache那么有缘,那就趁这个机会好好研究一下Java中的Cache库。在Java社区中已经提供了很多Cache库实现,具体可以参考http://w转载 2015-11-30 13:44:25 · 692 阅读 · 0 评论 -
下面的例子说明了如何使用java.lang.Class.getSimpleName()方法。
下面的例子说明了如何使用java.lang.Class.getSimpleName()方法。 package com.yiibai; import java.lang.*; public class ClassDemo { public static void main(String[] args) { ClassDemo c = new ClassDemo();转载 2015-08-17 14:17:32 · 504 阅读 · 0 评论 -
Java泛型:类型檫除、模板和泛型传递
Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很转载 2015-08-25 15:38:23 · 491 阅读 · 0 评论 -
JAVA接口的一些理解描述
如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这样的情况。如果接口A中有一个public访问权限的静态变量a。按照java的语义,我们可以不通过实现接口的对象来访问变量a,通过A.a = xxx;就可以改变接口中的变量a的值了。正如抽象类中是可以这样做的,那么实现接翻译 2015-08-25 15:31:15 · 386 阅读 · 0 评论 -
JAVA多线程Thread和Runnable的实现
java中实现多线程有两种方法:一种是继承Thread类,另一种是实现Runnable接口。 java中只允许单一继承,但允许实现多个接口,因此第二种方法更灵活。 代码如下: /** * 运行继承java.lang.Thread类定义的线程 */ public void startOne() { // 创建实例 O转载 2015-07-15 14:29:55 · 324 阅读 · 0 评论 -
学习JAVA多线程的网站
http://www.jb51.net/article/36130.htm转载 2015-07-15 14:46:16 · 356 阅读 · 0 评论 -
java向多线程中传递参数的三种方法详细介绍
但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据 在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行转载 2015-07-15 14:27:21 · 1872 阅读 · 0 评论 -
java多线程详细总结
以下小编就对java中的多线程进行了详细的总结分析,需要的朋友可以过来参考下,希望对大家有所帮助 一、Thread.start()与Thread.run()的区别 通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。然后通过此Thread类调用方法run()来完成其运行操作的,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方转载 2015-07-15 14:31:54 · 291 阅读 · 0 评论 -
java多线程编程之捕获子线程异常示例
java多线程程序中所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉。但是无法避免的是unchecked exception,也就是RuntimeException,当抛出异常时子线程会结束,但不会影响主线程 通过try catch是无法捕获子线程异常的,Thread对象提供了setUncaughtExcep转载 2015-07-15 14:40:08 · 380 阅读 · 0 评论 -
15个高级Java多线程面试题及回答
Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面转载 2015-07-15 14:43:20 · 345 阅读 · 0 评论 -
java基本教程之java线程等待与java唤醒线程 java多线程教程
本章,会对线程等待/唤醒方法进行介绍。涉及到的内容包括: 1. wait(), notify(), notifyAll()等方法介绍 2. wait()和notify() 3. wait(long timeout)和notify() 4. wait() 和 notifyAll() 5. 为什么notify(), wait()等函数定义在Object中,而不是Thread中 wait()转载 2015-07-15 14:34:29 · 767 阅读 · 0 评论 -
java基本教程之线程休眠 java多线程教程
本文对javaThread中sleep()方法进行介绍,sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”,大家参考使用吧 本章涉及到的内容包括: 1. sleep()介绍 2. sleep()示例 3. sleep() 与 wait()的比较 1. sleep()介绍 sleep() 定义在Thread.java中。 sleep转载 2015-07-15 14:36:33 · 386 阅读 · 0 评论 -
Java的多线程编程模型2--怎样才线程安全
在Java多线程编程模型1里面讲到了为什么线程不安全,那怎样才能做到线程安全了? 先来看线程工作是跟内存是怎么打交道的。 在并发的线程中,分为主内存和工作内存,主内存就是程序分配的内存,工作内存就是线程所占的内存。线程可能在工作内存中存储了某些主内存对象的副本。当线程操作某个主内存的对象时,先从主内存中将变量的值拷贝到工作内存中,然后在工作内存中改变这个值,最后将这个值刷到主转载 2015-07-15 14:56:06 · 305 阅读 · 0 评论 -
java 静态块、非静态块、静态函数、构造函数 执行顺序
ava中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的。结构如下: static { 静态语句代码块 } { 非静态语句代码块 } 异同点 相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋 值。 不同点:静态代码块在转载 2015-07-15 14:21:17 · 228 阅读 · 0 评论 -
Java创建多线程的两种方式对比
在Java中创建线程的方式有两种,第一种是直接继承Thead类,另一种是实现Runable接口。那么这两种方式孰优孰劣呢?这就是本文需要探讨的内容范畴了,看官们请仔细向下看 采用继承Thead类实现多线程: 优势:编写简单,如果需要访问当前线程,只需使用this即可,无需使用Thead.currentThread()方法。 劣势:因为这种线程类已经继承了Thead类,所以不能再继承其它类转载 2015-07-15 14:41:24 · 254 阅读 · 0 评论 -
Java多线程编程--初识线程
随着多核处理器的流行,多线程编程在我们现实编码中也变得越来越普遍。和其他编程语言一样,Java本身就内置了多线程的支持。一个线程就是程序的一个执行线索,如果你的程序只有一个main方法,则这个程序就只有一个执行线索,就是这个主线程。 Java中通过类 java.lang.Thread 代表一个线程。Thread类中的run方法就是该线程运行的执行代码。Thread类中有一个java.lang转载 2015-07-15 14:50:11 · 382 阅读 · 0 评论 -
JAVA 线程池的使用
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。转载 2017-02-04 11:38:11 · 213 阅读 · 0 评论