![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
hlang8160
这个作者很懒,什么都没留下…
展开
-
数组总结
匿名数组package com.Demo_2;import java.util.Arrays;public class ShuZu { public static void main(String[] args){ int[] a=new int[3];//创建一个数组大小为3的数组 //int[] a={1,2,3,9,10};数组的初始化,直接使用int[原创 2016-10-05 19:57:50 · 217 阅读 · 0 评论 -
java_多态
public class duotai extends BaseClass{ public String book="钢铁是怎样炼成的"; public void test(){ System.out.println("子类覆盖父类的方法"); } public void sub() { System.out.println("子类的普通方法"); } public stati原创 2017-10-13 21:37:16 · 198 阅读 · 0 评论 -
引用变量的强制类型转换_instanceof
引用变量只能调用它编译时的类型方法,而不能调用它运行时类型的方法。强制类型转换:1.基本类型之间的转换只能在数值类型之间进行。数值类型与布尔类型不能转换。2.引用类型之间的转换只能在具有继承关系的两个类型之间进行,如果试图把一个父类实例转换为一个子类类型,则这个对象必须实际上是子类类型(即编译时时父类类型,而运行时为子类类型),否则会ClassCastException。/原创 2017-10-13 22:02:11 · 646 阅读 · 0 评论 -
Java_小题大做
求数组长度时用a.length;求集合长度时用a.length();原创 2017-10-23 20:54:44 · 203 阅读 · 0 评论 -
Java_==与equals
1. ====严格要求两个变量指向同一对象。==不能比较没有父子关系的对象。public class EqualTest { public static void main(String[] args) { int it=65; float f1=65.0f; System.out.println(it==f1);//true char ch='A'; S原创 2017-10-15 10:18:06 · 197 阅读 · 0 评论 -
Java_单例
public class Danlei { public static void main(String[] args) { Dan s1=Dan.getDan(); Dan s2=Dan.getDan(); System.out.println(s1==s2);//true实际上指向的是同一个对象,避免大量相同对象占用内存空间。 }}class Dan{ privat原创 2017-10-15 11:35:00 · 196 阅读 · 0 评论 -
java_学习小问题
在一个java文件中写多个类。不过只能有一个public所修饰的类,所以将A和B类前的public修饰符去掉即可,最终代码如下:public class Test{ public static void main(String args[]){ new B(); }}class A { public A原创 2017-10-12 19:15:00 · 207 阅读 · 0 评论 -
Java_final修饰符总结
final修饰符:类变量:1.在声明该变量时指定初始值。2.在静态初始块中指定初始值。只能在这两个地方其中之一指定。实例变量:1.声明该实例变量时指定初始值。2.在非静态初始化块中指定初始值。3.在构造函数中指定初始值。必须在这三个地方指定初始值。 只能在初始化块或静态初始化块赋值,不能再初始化块或静态初始化块中声明,因为在初始化块或静态初始化块中声明相当于局部变量。 都不原创 2017-10-15 16:00:23 · 201 阅读 · 0 评论 -
Java中Iterable和Iterator的辨析
1、Iterable接口Iterable接口 (java.lang.Iterable) 是Java集合的顶级接口之一。我们首先看下这这个接口在JDK中的定义:package java.lang; public interface Iterable{ Iterator iterator(); } 123456(1)可见,Iterable接口中只包含一个方法,就转载 2017-10-26 14:55:19 · 217 阅读 · 0 评论 -
二叉查找树与红黑树(2-3树)
二叉查找树是自上而下生长的,左子树比根节点小,右子树都比根节点大。树的形状与插入顺序有关。二叉树的查找、排序方法、最大键、最小键、选择操作、排名操作、删除最大键最小键关键是通过size()函数,可以获取该节点的下的节点数。package HardlyJava;import java.util.*;public class Erchashu { private class BS原创 2017-12-22 21:00:12 · 249 阅读 · 0 评论 -
java集合遍历学习
集合类的通用遍历方式, 用迭代器迭代:Iterator it = list.iterator();while(it.hasNext()) { Object obj = it.next();} Map遍历方式: 1、通过获取所有的key按照key来遍历//Set set = map.keySet(); //得到所有key的转载 2017-12-31 12:29:40 · 208 阅读 · 0 评论 -
面向切面编程(AOP)的理解
在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录、事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码。当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心业务逻辑处理才那么几行,如图6-4所示。方法复方法,类复类,就这样子带着无可奈何遗憾地度过了多少个春秋。这倒也罢,倘若到了项目的尾声,突然决定在权限控制上需要进行大的变动时,成千上万个方法又得一一"登转载 2018-01-12 14:34:44 · 146 阅读 · 0 评论 -
进程和线程的区别
http://blog.csdn.net/yaosiming2011/article/details/442807971.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在转载 2018-01-12 16:26:25 · 159 阅读 · 0 评论 -
Java String charAt()方法
Java String charAt()方法 描述此方法返回位于字符串的指定索引处的字符。该字符串的索引从零开始。语法此方法定义的语法如下:public char charAt(int index)参数这里是参数的细节:index -- 返回字符的索引。返回值该方法的返回指定索引处char值。例子:1 publi转载 2018-01-06 17:42:12 · 427 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
转载:https://www.cnblogs.com/hubingxu/archive/2012/02/21/2361281.htmlhashMap:只能有一个键为null,可以有多个值为null,遍历速度与hashMap容量有关.线程不安全。hashTable:不能有键或值为null,线程安全。LinkedHashMap:按照插入的顺序保存,是有序的。遍历速度与保存的数据有关。T转载 2018-01-06 18:09:50 · 316 阅读 · 0 评论 -
二叉树的最小深度
二叉树的最大深度如果二叉树不为空,则分别求二叉树的额左右子树的深度,然后取最大的的左树深度或右树深度,加1,因为根节点的深度是1int maxDepth(TreeNode *root) { // write your code (here) if(root == NULL) return 0; int le原创 2018-01-20 10:40:07 · 200 阅读 · 0 评论 -
二分法_ Half half
无法找到一个条件形成OOXX模型但是可以根据判断,每次只保留有解的一半,去掉无解的一半1. Find Peak Element你给出一个整数数组(size为n),其具有以下特点:相邻位置的数字是不同的A[0] A[n - 1]假定P是峰值的位置则满足A[P] > A[P-1]且A[P] > A[P+1],返回数组中任意一个峰值的位置。 注意事项原创 2018-01-20 16:40:02 · 240 阅读 · 0 评论 -
java_this/super构造器
public class Base extends fu{ public String color; public Base(String color,String name, double size) { super(name,size);//调用父类的构造器 this.color=color; } public static void main(String[] args) {原创 2017-10-13 20:35:37 · 237 阅读 · 0 评论 -
java_this使用
public class thisShiyong { public void jump() { System.out.println("jump方法"); } public void run() { System.out.println("run方法"); //this.jump();// thisShiyong a=new thisShiyong(); a.jump();原创 2017-10-13 15:23:57 · 237 阅读 · 0 评论 -
Java中的Double类型的精度计算
Java中的Double类型计算一、问题的提出:如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42转载 2017-10-07 09:49:24 · 646 阅读 · 0 评论 -
二分查找算法
1.必须针对有序数组2.查找时间为logn3.如何取中间值以及边界判断三种基本版本:1.1 二分查找原始版--查找某个数的下标(任意一个)在有序数组中查找某个数,找到返回数的下标,存在多个返回任意一个即可,没有返回-1。所有程序采用左右均为闭区间,即函数中n为最后一个元素下标,而不是元素个数。典型代码如下:[java] view转载 2017-10-07 15:07:27 · 448 阅读 · 0 评论 -
java_接口和抽象类与设计模式
接口和抽象类都具有以下特征:接口和抽象类都不能被实例化,他么都位于继承树的顶端,用于被其他类实现和继承。接口和抽象类都可以包含抽象方法,实现接口和抽象类的普通子类必须实现这些抽象方法。接口和抽闲类的不同:接口作为系统和外界交互的窗口,接口体现的是一种规范。接口规定了实现者必须向外提供哪些服务。当在一个程序中使用接口时,接口时多个模块间的耦合标准;在多个应用程序之间使用接口接原创 2017-10-18 09:09:21 · 638 阅读 · 1 评论 -
内部类
package learnJava;public class NeibuLei { private double weight; private String prop="外部类的实例变量. "; public NeibuLei() {} public NeibuLei(double weight) { this.weight=weight; } //定义一个非静态内部类,用p原创 2017-10-18 22:10:45 · 242 阅读 · 0 评论 -
Lambda表达式与匿名内部类的联系和区别
联系:lambda表达式创建的对象与匿名内部类生成的对象一样,可以直接调用接口中继承的默认方法。区别:1.匿名内部类可以为任意接口创建实例,不管接口中包含多少个抽象方法,只要在匿名内部类中实现所有抽象方法即可。 但在lambda表达式中只能为函数式接口创建实例。2.匿名内部类可以为抽象类甚至普通类创建实例;但lambda表达式只能为函数式接口创建实例。3.匿名内部类实现原创 2017-10-19 16:02:38 · 1823 阅读 · 0 评论 -
java.lang.ClassCastException(java强制类型转换异常)
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误。下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法。这种异常是如何产生的呢?举一个比较形象的例子。Animal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类。看下面的代码:Animal a1 = new Dog()转载 2017-10-12 14:38:14 · 6735 阅读 · 0 评论 -
Java_集合(Set、List、Queue)
什么是集合:Java中的集合,就是保存对象的集合。是一种只能用来保存对象的集合。Java集合包括四种:Set、List、Queue、Map。其中Set代表无序、不可重复的集合。List代表有序、重复的集合。Map代表具有映射关系的集合。Queue代表一种队列集合实现。Java中的集合类主要有两个接口派生而来:Collection接口和Map接口。Collection接口原创 2017-10-21 15:54:59 · 445 阅读 · 0 评论 -
Arrays用法整理
1. asList方法 @SafeVarargs public static T> ListT> asList(T... a) { return new ArrayList(a); } 使用该方法可以返回一个固定大小的List,如: ListString> stringList = Arrays.asList("Welcome", "To", "Ja转载 2017-10-22 11:05:02 · 205 阅读 · 0 评论 -
Java 中 静态方法与非静态方法的区别
转载静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。下面几个例子展示了这一区别。原创 2017-10-07 15:30:04 · 3056 阅读 · 0 评论 -
java方法的参数传递机制
public class swap {public static void Swap(int a,int b) {int tmp=a;a=b;b=tmp;System.out.println("Swap方法里,a的值是 "+a+"; b的值是"+b);}public static void main(String[] args) {int a=6,b=9;Swa原创 2017-10-13 08:32:50 · 177 阅读 · 0 评论 -
Collections工具类
Java提供了一个操作Set、List、Map集合的工具类:Collections,该工具里提供了大量方法对集合元素进行排序、查询和修改操作。(1)sort()排序方法 函数定义:public static > void sort(List list) 根据元素的 自然顺序对指定列表按升序进行排序。 参数:要排序的列表。原创 2017-10-22 11:42:54 · 238 阅读 · 0 评论 -
Java字符串
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)查看 API 会发现,String、StringBuffer、StringBuilder 都实现了 CharSequence 接口,内部都是用一个char数组实现,虽然它们都与字符串相关,但是其处理机制不同。String:是不可改变的量,也转载 2017-10-21 08:43:57 · 195 阅读 · 0 评论 -
Comparable接口与Comparator接口
Comparable接口内部只有一个要重写的方法int compareTo(Object obj)。该方法返回一个整数值,实现该接口的类必须实现该方法。当一个对象调用该方法与另一个对象比较时,obj1.compareTo(obj2)如果该方法返回0,则表明这两个对象相等。(并不意味值obj1.equals(obj2)=true,单最好这样)如果大于0则obj1>obj2,如果小于0则o原创 2017-10-22 15:37:10 · 244 阅读 · 0 评论 -
四种常用的IO模型
1) 同步阻塞IO(Blocking IO)2) 同步非阻塞IO(Non-blocking IO)3) IO多路复用(IO Multiplexing)4) 异步IO(Asynchronous IO)注意以下概念:1.同步/异步同步和异步是相对的同步 前后两件任务, 有严格的顺序一致性(依赖和递进), 按顺序执行, 执行完一个再执行下一个, 需要等待、协调运行异步 对顺序的要求和依赖关系没那么强, ...转载 2018-07-07 11:48:58 · 849 阅读 · 0 评论