一、Stack栈
1.栈是一种先进后出的数据结构。
2.在java里面使用Stack来描述栈的操作,这个类定义如下:
3.可以发现Stack是Vector子类,但它使用的是自身提供的方法:
范例:实现栈的操作
一、Stack栈
1.栈是一种先进后出的数据结构。
2.在java里面使用Stack来描述栈的操作,这个类定义如下:
3.可以发现Stack是Vector子类,但它使用的是自身提供的方法:
范例:实现栈的操作
六、Base64加密工具
1.在JDK1.8开始提供由一组新的加密处理操作类,Base64处理,在这个类里面由两个内部类:
范例:实现加密与解密操作
由于是一个公版的算法,所以直接对数据加密并不安全,最好的做法是使用盐值操作和多次加密
范例:使用盐值操作
范例:多次加密
四、ThreadLocal类
范例:定义一个这样的结构
范例:多线程的影响
这时发现数据覆盖,不同步,
1.需要考虑到每个线程的独立操作问题,那么对于Channel类而言除了要保留有发送的信息之外,还应该多存放有一个每一个线程的标记(当前线程),这时候可以通过Thread Local类来存放数据,Thread Local类提供如下操作方法:
范例:解决线程同步问题,每一个线程通过Thread Local只允许保存一个数据。
二、UUID类
1.这个程序类的主要功能是根据时间戳实现一个自动的无重复的字符串的定义。
2.在对一些文件进行自动命名处理的情况下,UUID类型非常好用。
三、内建函数式接口
1.系统之中专门提供有一个java.util.function的开发包,里面可以直接使用函数式接口。
java.util.Collection是单值集合操作中的最大的父接口,在该接口中定义有所有的单值数据的处理。在这个接口中定义有如下的操作方法:
从键盘传入多个字符串到程序中,并将它们按逆序输出在屏幕上。
本程序之中应该考虑到如下的几种设计:
package Chat;
class Person{
private String name;
private int age;
public void setName(String n) {
name=n;
}
public void setAge(int a) {
if(a>=0) {
age=a;
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void tell() {
System.out.println("姓名:"+name+" 年龄:"+age);
}
}
public class JavaDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person per=new Person();
per.setName("张三");
per.setAge(18);
per.tell();
}
}
7.成员属性封装:private关键字
2.类和对象的简介:类是对某一类事物的共性的抽象概念,而对象描述的是一个具体的产物。类是一个模板,而对象才是类可以使用的实例。
3.类有两个组成:
4.类和对象的使用
5.引用传递分析
6.引用传递与垃圾产生分析
二叉树与普通的链表相比最大的优势在于其检索速度的提升,传统的链表在进行数据检索的时候往往都需要对全部数据进行检索,而二叉树由于其排列的有序性,所以整体的检索速度会有很大的提升(小数据量是感受不到的)。
要进行检索处理,就有一个实际的情况出现了,对于这样数据的保存有什么意义?假设现在要保存的数据不是一个Person对象,可能是一个复合对象(二元偶对象),这种对象的主要特点是可以根据“key”获取对应的“value(对象)”,则可以单独定义一个包装的实体类。可以轻松的根据某一个key查找对应的value数据的处理,时间复杂度是很低的。
对程序进行打包编译处理:
编译:javac -d .*java
jar -cvf mldn.jar cn
-c :创建一个新的jar文件
-v :得到一个详细输出;
-f : 设置要生成的jar文件名称 本处是mldn.jar cn是原来的包
每个jar文件都是一个独立的程序路径,如果想在java中运行 就需要使用SET CLASSPATH 加上路径
NoClassDefFoundError jar包没有配置正确
课程内容版权均归魔乐科技MLDN所有 京ICP备09081638号-6
Powered by EduSoho v20.4.1 ©2014-2023