02 2018 档案
摘要:摘要:在我们对Java的学习当中数据类型之间的转换,是我们常见的事,我们也都知道基本数据类型之间有自动转换和强制转换,在int 、 short 、 long 、float 、double之间的转换我们都比较清楚的吧,但我们也应该知道它们与字符串及字符型之间的类型转换又是怎样对,让我们一起来探讨一下它
阅读全文
摘要:一、概念 排序二叉树是一种特殊结构的二叉树,通过它可以非常方便的对树中所有节点进行排序和检索。排序二叉树要么是一颗空的二叉树,要么就是具有下列性质的二叉树。 1、若他的左子树不为空,则左子树上所有节点的值均小于它的根节点的值。 2、若它的右子树不为空,则右子树上所有节点的值均大于它的根节点的值。 3
阅读全文
摘要:一、概念 哈夫曼树又被称为最优二叉树,是一类带权(权值就是定义的路径上面的值,哈夫曼树中的权值可以理解为:权值大表明出现概率大)路径最短的二叉树。哈夫曼树是二叉树的一种应用,在信息检索中很常用 路径:树中一个节点到另一个节点之间的分支构成这两个节点之间的路径; 节点之间的路径长度(不带权):从一个节
阅读全文
摘要:一、二叉树的概述 二、树和二叉树的区别 1、普通树中节点的最大度数没有限制,而二叉树节点的最大度数是2。 2、无序树的节点无左右之分,而二叉树的节点有左右之分,也就是二叉树的是有序树 三、满二叉树 如果它包含了2的整指数节点,就是满二叉树,满二叉树的特点是每一层上的节点数都是最大节点数,即各层节点数
阅读全文
摘要:一、概念 由于二叉树是一种比较确定的数据结构,因此操作它比较简单,但是由于一般树的结构并不固定,因此操作起来非常麻烦,我们可以将一般树转换成二叉树,以二叉树的形式来存储一般树,当程序需要一般树时,再将二叉树转换成一般树。 森林:如果将一颗一般树的根节点去掉,这棵树就变成了森林,其实森林就是有多个根节
阅读全文
摘要:一、树的概述: 线性表、栈、队列都是线型的数据结构,该种数据结构之间的元素只存在一对一的关系,而树的结构内元素是非线性的关系,存在着一对多的关系,例如一个父节点可以包含多个子节点。 树指的是N个有父子关系的节点的有限集合,满足以下关系: 1、当N=0时,该节点集合为空,这棵树被称为空树。 2、在任意
阅读全文
摘要:线性表分为顺序表和链表; 1、顺序存储结构和链式存储结构的区别 顺序存储结构是在内存中开辟一个连续的空间用来存储数据,因此对于内存的需求和苛求,必须是连续的空间,在数据查找(特别是不按照规律排序的数据),时间复杂度较少,效率高。 链式存储结构是采取链表指针来指示数据的存储位置,这就可以是在内存中随意
阅读全文
摘要:FILO,后进先出;单向队列尾插头删;rear为尾端、front为头端。 用数组模拟,当插入时,rear索引+1;当删除时,front索引+1; 顺序队列代码: 循环队列(可以覆盖) 单向链式队列: 双向队列: JDK带的ArrayDeque:代表顺序存储结构的双向队列。 LinkedList:代表
阅读全文
摘要:基本变量的变量和值还有数组和引用变量,对象的首地址都存于栈中,数组,引用变量和对象的内容都存在于堆中。 以下是JDK自带的STACK: 以下是自己手写的栈: 找到栈中最小元素,写一个方法getMin(): 中缀转后缀:迪杰斯特拉双栈算法:
阅读全文
摘要:Statement 对象 一旦我们获得了数据库的连接,我们就可以和数据库进行交互。JDBC 的 Statement,CallableStatement 和 PreparedStatement 接口定义的方法和属性,可以让你发送 SQL 命令或 PL/SQL 命令到数据库,并从你的数据库接收数据。 在
阅读全文
摘要:连接数据库 在你安装相应的驱动程序后,就可以用 JDBC 建立一个数据库连接。 编写建立一个 JDBC 连接的程序是相当简单的。下面是简单的四个步骤- 导入 JDBC 包:在你的 Java 代码中,用 import 语句添加你所需的类。 注册 JDBC 驱动程序:这一步会导致 JVM 加载所需的驱动
阅读全文
摘要:import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java....
阅读全文
摘要:package com.zxc.connection; import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { public static final String name="com.mysql.jdbc.Driver";//jdbc驱动名 public static ...
阅读全文
摘要:一、线程(Thread)——进程(process) 线程是程序类的控制流,线程和进程非常相似。 多进程:在操作系统能同时运行多个任务(程序、软件) 多线程:在同一个应用程序中有多个顺序流任务同时执行。 二、Thread类和Runnable接口 Thread实现了Runnable接口 在A1类下继承T
阅读全文
摘要:一、简介 lambda表达式允许你通过表达式来代替功能接口,lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块),它还增强了集合库,java.util.function包java.util.stream包 流就如同迭代器,但附加
阅读全文
摘要:一、局域网因特网 服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序,而网络用于连接服务器与客户机,实现两者之间的通信。但有时在某个网络中很难将服务器和客户机区分开。我们通常说的“局域网(Local Area Network LAN)”就是一群通过一定形式连接起来的计算机。它可以由两
阅读全文
摘要:一、反射概念 不用实例化也可以调用类中的私有成员;反射慢,实例化快;反射可以看到其他类中的内部构造,透明,但是不安全。 JAR:JAVA函数库 WAR:web发布的包 YAR:RPC服务 二、idea打jar 首先将需要当jar包的类全都public,然后点击右上角的图标,在Artifacts栏中选
阅读全文
摘要:一、HashMap和Hashtable排序 将HashMap转换成List之后才能排序,排序之后的循环输出使用list的迭代器,不能使用map的迭代器。 二、ConcurrentHushMap 当前HashMap HashMap在并发编程过程中使用非同步可能导致死循环,因为插入过程不是原子操作,每个
阅读全文
摘要:1、基本类型和包装类 基本类型和包装类可通过自动装箱和拆箱实现。 int i = 24; Integer a = new Integer(i); //手动装箱 Integer b = i; //自动装箱 int x = a; //自动拆箱 int y = a.intValue(); //受到拆箱 2
阅读全文
摘要:一、概念 集合是程序设计中的一种基本实现。在java中包含数组的概念,但是一维数组有一个固定的概念,所以数组在处理那些随着应用程序的运行而增长或缩减的对象时非常笨拙 所有的集合父类是一个Collection接口,该接口也定义了一些基本操作; 集合优点:可以自由增加缩减大小;缺点:速度慢 二、迭代器i
阅读全文
摘要:一、NIO2快速读写文件 写完之后记得flush一下,NIO2不能自行创建文件,需要在文件中判断一下。 二、监听器 记得重置监听器 三、通道读写 四、异步IO读写基础 NIO2的异步能力使用于套接字和文件IO操作,其实异步IO只是一种在读写操作结束前允许进行其他操作的IO处理 java7中有三个新的
阅读全文
摘要:1、NIO概述 什么是NIO:NIO是New I/O的简称,与旧式的基于流的I/O方式相对,从名字看,他表示新的一套JAVA I/O标准。它是在java1.4中被纳入到JDK中的,并具有以下特性: -NIO是基于块(BLOCK)的,它以块为基本单位处理数据(硬盘上存储的单位也是按Block来存储,这
阅读全文
摘要:一、概述 java中所有的基本I/O操作都是流(stream)为基础的。流代表数据的流动或一端的写入器与另一端的读取器相互通信的通道。 在使用终端的输入输出设备,正在读或写文件,或者在Java中通过套接字(socket)进行通信时,我们就已经使用了某种类型的流。 按照流处理的数据类型,可以分为: -
阅读全文
摘要:1、异常分两种:(父接口:throwable) 错误:Error JVM系统内部错误、资源耗尽 异常:Exception 其他因变成错误或偶然的外在因素导致的一般问题。 负数开平方 空指针 文件不存在 网络连接中断 分母为零 2、异常 a、ArrayIndexOutofBounds:数组索引越界 b
阅读全文
摘要:1对象的克隆(clone) 单纯的同类的两个对象a0 a00,a0=a00只是栈指向同一个堆,而不是开辟两个新堆,修改其中一个,另一个也会受牵连。 需要重写Clone()方法,并且实现Cloneable接口。 浅层克隆:仅仅对对象成员的逐成员克隆 深层克隆:不仅拷贝对象的字段,而且还对对象通过字段关
阅读全文
摘要:1、Math类(在java.lang包中) Math.abs()计算平均数 Math.ceil()比浮点数大的最小整数值 6.5——>7 ,常用作分页 Math.floor()比浮点数小的最大整数值 6.5——>6 Math.power(2,3); 计算2的3次方 Math.random();随机数
阅读全文
摘要:1、内部类 a、正常内部类(类套类): 引用的方法:1、在测试中使用new 外类.new 内类.方法的方式调用内部类方法 2、在内部类同层位置,写下新的方法,用来new内部类即可 b、方法内部类: 引用的方法:只能使用上面的第二种方法。 c、静态内部类 2、匿名内部类——>只能使用一次,即建即用(委
阅读全文
摘要:1、包 三级命名:公司的尾缀(com).公司名字(baidu).业务(Sale) java.lang:默认包:String、Math,Object,System java.util:工具包 java.io:输入输出包 java.net:网络开发包 java.awt:图形界面开发包 java.swin
阅读全文
摘要:1、方法的重载(overload) 同一个类中同时存在一个以上的同名函数,参数个数或类型不同或顺序不同,称为方法的重载。 和返回值无关! 构造器重载:非默认构造器和默认构造器其实就是方法的重载。 2、this:这个,指对象,真实存在的。 类——>实例化——>对象 this的三种用法: 1、在类本身的
阅读全文
摘要:1封装:封装的是属性,封:private 装:set、get‘ 可以看做将属性和get/set方法捆绑的过程。 优点:1、防止对封装数据的未经授权的访问,提高安全性。使用者只能通过事先预定好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作。 2、有利于保证数据的完整性 3、便于修改,
阅读全文