javase tutorial】的更多相关文章

http://docs.oracle.com/javase/tutorial/index.html…
Built-in Operators Relational Operators The following operators compare the passed operands and generate a TRUE or FALSE value depending on whether the comparison between the operands holds. Operator Operand types       Description A = B All primitiv…
数据类型 8种基本数据类型和引用类型 数据类型 占用位数 存储方式 最小值 最大值 默认值 byte 8 1+7 -128(-2^7) 127(2^7-1) 0 short 16 1+15 -32768(-2^15) 32767(2^15-1) 0 int 32 1+31 -2147483648(-2^31) 2147483647(2^31-1) 0 long 64 1+63 -2^63 2^63-1 0L float 32 1实数符号位+1指数符号位+7指数位+23实数位 (与整数不同,符号位…
<Concurrency>:http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html <Java并发结构>:http://ifeve.com/java-concurrency-constructs/ <Java并发性和多线程介绍>:http://ifeve.com/java-concurrency-thread-directory/ <Java并发编程从入门到精通>:htt…
2016-12-17  21:10:28 吉祥物:Duke(公爵)    Logo:咖啡(爪哇岛盛产咖啡)  An overview of the software development process.          <编程语言吉祥物之Duke>:http://www.cnblogs.com/turingbooks/p/3585919.html <Java Tutorials Learning Paths>:http://docs.oracle.com/javase/tut…
@(Java)[Annotation|Java] Java Annotation概述 用途 编译器的相关信息,如用于检测错误和一些警告 编译时和部署时的处理,如一些软件用于自动生成代码之类的 运行时处理 自定义注解 和接口的定义类似,只是用@interface来标识,注解中包含的属性可以具有默认值,如下: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface ActivityMetadat…
地址:https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html What Are Services? Services are units of sound-handling functionality that are automatically available when an application program makes use of an implementation of the Java Sound API. T…
EventBus源码阅读记录 repo地址: greenrobot/EventBus EventBus的构造 双重加锁的单例. static volatile EventBus defaultInstance; public static EventBus getDefault() { if (defaultInstance == null) { synchronized (EventBus.class) { if (defaultInstance == null) { defaultInsta…
看了下Java Tutorials中的fork/join章节,整理下. 什么是fork/join框架 fork/join框架是ExecutorService接口的一个实现,可以帮助开发人员充分利用多核处理器的优势,编写出并行执行的程序,提高应用程序的性能:设计的目的是为了处理那些可以被递归拆分的任务. fork/join框架与其它ExecutorService的实现类相似,会给线程池中的线程分发任务,不同之处在于它使用了工作窃取算法,所谓工作窃取,指的是对那些处理完自身任务的线程,会从其它线程窃…
我以前在写Android项目的时候,估计写得最多最熟练的几句话就是: List<Integer> list = new ArrayList<Integer>(); list.add(); //把一个整数加入到集合中 ); //从集合中取出元素 ArrayList用起来是多么的顺手!当时我只知道尖括号<>里面只能加入大写字母开头的Object类型,不能加入int.char.double这些原始类型,至于原因没研究过,这么规定就这么用呗. 但是随着对“码农”式无脑学习法的逐…
http://docs.oracle.com/javase/tutorial/reflect/index.html https://bugs.openjdk.java.net/browse/JDK-4493588 http://stackoverflow.com/questions/37628/what-is-reflection-and-why-is-it-useful https://github.com/hotchemi/PermissionsDispatcher…
一.什么是归并排序 归并排序又称合并排序,它是成功应用分治技术的一个完美例子.对于一个需要排序的数组A[0..n-1],归并排序把它一分为二:A[0..n/2-1]和A[n/2..n-1],并对每个子数组递归排序,然后把这两个排好序的子数组合并为一个有序数组.下面是归并排序的例子图解: 二.单线程实现归并排序 package com.bob.algorithms.sort; import java.util.Arrays; import com.bob.algorithms.SortStrate…
多态的概念 多态==晚绑定. 不要把函数重载理解为多态. 因为多态是一种运行期的行为,不是编译期的行为. 多态:父类型的引用可以指向子类型的对象. 比如 Parent p = new Child(); 当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误: 如果有,再去调用子类的该同名方法. (注意此处,静态static方法属于特殊情况,静态方法只能继承,不能重写Override,如果子类中定义了同名同形式的静态方法,它对父类方法只起到隐藏的作用.调用的时候用谁的引用,则调…
一.基本概念:在学习Java泛型的过程中, 通配符是较难理解的一部分. 主要有以下三类:1. 无边界的通配符(Unbounded Wildcards), 就是<?>, 比如List<?>. 无边界的通配符的主要作用就是让泛型能够接受未知类型的数据. 2. 固定上边界的通配符(Upper Bounded Wildcards): 使用固定上边界的通配符的泛型, 就能够接受指定类及其子类类型的数据. 要声明使用该类通配符, 采用<? extends E>的形式, 这里的E就是…
在学习继承的时候, 我们已经知道可以将一个子类的对象赋值给其父类的对象, 也就是父类引用指向子类对象, 如: Object obj = new Integer(10); 这其实就是面向对象编程中的is-a关系. 既然上面的代码正确, 那么在泛型中, 也可以使用如下代码: public class Box<T> { private T obj; public Box() {} public T getObj() { return obj; } public void setObj(T obj)…
首先看一段代码: import java.util.Date;public class Test extends Date{ public static void main(String[] args) { new Test().test(); } public void test(){ System.out.println(super.getClass().getName()); }} 上面这段代码的输出为:Test 可能你会奇怪为什么输出的是Test,而不是Date呢?我明明是调用的supe…
今年3月,Google 破天荒提前半年发布了 Android N 开发者预览版.当然,作为一个不合格的谷粉并没有第一时间体验安装,因为至今仍然能够回忆起来去年今日此门中(雾)兴冲冲刷了 Android M Preview 的时候发现各种 Crash就连微信也(不出所料得)中招时自己一脸懵逼的心情.当然,为自己的机智而庆幸并没有过多久,很快就有微信好友(当然也是纯纯的谷粉)反馈微信又双叒叕在 Android 新版本下Crash了……好吧这次我们的时间很充裕,因为 5 个 preview 之后才会发…
一.前言 还记得JDK1.4时遍历列表的辛酸吗?我可是记忆犹新啊,那时因项目需求我从C#转身到Java的怀抱,然后因JDK1.4少了泛型这样语法糖(还有自动装箱.拆箱),让我受尽苦头啊,不过也反映自己的水平还有待提高,呵呵.JDK1.5引入了泛型.自动装箱拆箱等特性,C#到Java的过渡就流畅了不少.下面我们先重温两者非泛型和泛型的区别吧! // 非泛型遍历列表 List lst = new ArrayList(); lst.add(); lst.add(); ; for (Iterator =…
Java Lambda表达式初探 前言 本文受启发于Trisha Gee在JavaOne 2016的主题演讲Refactoring to Java 8. Java 8已经发行两年多,但很多人仍然在使用JDK7.对企业来说,技术上谨慎未必是坏事,但对个人学习而言,不去学习新技术就很可能被技术抛弃.Java 8一个重要的变更是引入Lambda表达式(lambda expression),这听起来似乎很牛,有种我虽然不知道Lambda表达式是什么,但我仍然觉得很厉害的感觉.不要怕,具体到语言层面上La…
转自:http://blog.csdn.net/ioriogami/article/details/12782141 1. 什么是λ表达式 λ表达式本质上是一个匿名方法.让我们来看下面这个例子: public int add(int x, int y) {        return x + y;    } 转成λ表达式后是这个样子:        (int x, int y) -> x + y; 参数类型也可以省略,Java编译器会根据上下文推断出来: (x, y) -> x + y; //…
JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/3154638.html http://www.cnblogs.com/mengdd/p/3154922.html 准备驱动包 要用JDBC连接MySQL,需要一个驱动包: 可以去这里下载(其实完整安装MySQL后可以在安装路径中找到这个包): http://www.mysql.com/products/…
参考:https://docs.oracle.com/javase/tutorial/essential/environment/paths.html 从orcle官网的文档中可以看到java path环境变量: java path环境变量就是java在执行命令时 寻找javac这个程序的位置(拓展开来其它应用应该也是这样,资源的环境变量就是某个应用对自己所需要用的资源,所在的位置){一个是程序所在的位置,一个是资源所在的位置}. The PATH environment variable is…
什么是默认方法-Default Methods 简单的说,就是可以在接口中定义一个已实现方法,且该接口的实现类不需要实现该方法: 如下示例: interface GreetingService { void sayMessage(String message); //可以在接口中定义默认方法 default void sayHello(){ System.out.println("Hello"); } } //实现类不需要实现接口中的默认方法 class GreetingService…
什么是方法引用 简单地说,就是一个Lambda表达式.在Java 8中,我们会使用Lambda表达式创建匿名方法,但是有时候,我们的Lambda表达式可能仅仅调用一个已存在的方法,而不做任何其它事,对于这种情况,通过一个方法名字来引用这个已存在的方法会更加清晰,Java 8的方法引用允许我们这样做.方法引用是一个更加紧凑,易读的Lambda表达式,注意方法引用是一个Lambda表达式,其中方法引用的操作符是双冒号"::". 方法引用例子 先看一个例子 首先定义一个Person类,如下:…
A.首先更改窗体左上角的图片 步骤一: 创建3个包,分别建立1个类 第一个是窗体的包,窗体类:设置窗体的主要布置和功能 第二个是资源包,图片:把想要改的图案拉进来 第三个是UI界面包,UI界面设计类:专门对窗体界面进行美化 步骤二: 在UI界面设计类中写代码: /** * 做皮肤效果的类 */ package zl_util; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; public cla…
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html 类似于这样的代码 try ( ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(bos)); ) { oos.writeUn…
什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象实例的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i = 100; ) 实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = Integer.valueOf(100); (感谢@…
SAX(Simple API for XML) https://docs.oracle.com/javase/tutorial/jaxp/sax/parsing.html persons.xml <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="> <name>张三</name> <age></age>…
Java 自动装箱与拆箱(Autoboxing and unboxing)   什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象实例的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i = 100; ) 实际上,执行上面那句代码的时候,系统为我们执行…
反射的使用 反射通常用于在JVM中应用程序运行中需要检查或者修改运行时行为的项目.这是一个相对高级的特性,并且仅仅可以被对深刻理解java原理的开发者使用.这里给出一个警告的意见,反射是一个强大的技术,而且可以让应用执行不可能的操作. 扩展属性 一个应用程序可以通过他们的完全限定的名称创建可扩展的对象的实例使用外部的,用户定义的类. 类浏览器和可视化开环境 一个类浏览器需要枚举类中的成员.可视化开发环境可以根据反射选择到正确的类型信息,帮助开发者写出正确的代码. 调试器和测试工具 调试器需要能检…