java知识点总结

1,常量和变量

     常量它的值被设定后,在程序运行过程中不允许改变。

     语法:最终常量名=值

    常量名一般使用大写字符B,定义变量。变量名称由字母,数字,下划线(_),美元符($)组成,但是不包括@%,空格等,但是开头不能为数字。

final int SCORE = 100;

   

2,基本数据类型

byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。

float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

boolean:只有true和false两个取值。

char:16位,存储Unicode码,用单引号赋值。

3,面向对象的基本特征

继承多态封装

4,类与对象

1,实例方法和类方法(静态)的区别

实例方法在类被创建才被分配内存地址,类方法在该类加载时就被分配内存地址因而可以直接通过类名。访问。

2,类加载机制

java的中类在初始化时,构造方法,静态成员变量,静态块的加载顺序。先加载静态方法和静态变量,构造方法在类被创建时才加载。

3,封装

5、泛型与集合框架

5.1链表

LinkList<String> mylist = new LinkList<String>();

1常用方法:

  •                 public boolean add(E element)向链表末尾添加一个新的结点;
  •                 public void add(int index,E element)向链表指定位置添加一个新的结点;
  •                 public void clear()删除链表上所以节点;
  •                 public boolean add(E element)向链表末尾添加一个新的结点;
  •                 public void clear0删除链表的所有结点,使当前链表成为空链表;
  •                 public E remove(int index)删除指定位置上的结点。
  •                 public boolean remove(E element)删除首次出现含有数据element的结点。
  •                public E get(intindex)得到链表中指定位置处结点中的数据,
  •                public int indexOf(CE element)返回含有数据clement的结点在链表中首次出现的位置,如果链表中无此结点则返回-1。
  •                public int lastIndexOf(E element)返回含有数据element的结点在链表中最后出现的位置,如果链表中无此结点则返回-1。
  •               public E set(int index ,E element)将当前链表index位置结点中的数据替换为参数element指定的数据,并返回被替换的数据。
  •               public int size()返回链表的长度,即结点的个数。
  •               public boolean contains(Object element)判断链表中是否有结点含有数据element.以下是LinkedList<E>泛型类本身新增加的些常用方法。
  •               public void addFirst(E element) 向链表的头添加新结点,该结点中的数据是参数element指定的数据。
  •                public void addLast(E clement) 向链表的末尾添加新结点,该结点中的数据是参类clement指定的数据。
  •                public E getFirst()得到链表中第“个结点中的数据。
  •                public E getLast ()得到链表中最后一个结点中的数据。
  •                pubic E removFirst()删除第一结点,并返回这个结点中的数据。
  •                pubic emoveLast() 删除最后一个结点,并返回这个结点中的数据。
  •                publie ojece donc()得到当前链表的一个克降链表,该免隆链丧中结点数据的改变不会影响到当前链表中节点的数据,反之亦然.

2遍历链表

无论何种集合,应当允许用户以某种方法遍历集合中的对象,而不需要知道这些对象在集合中是如何表示及存储的,Java 集合框架为各种数据结构的集合,比如链表、散列表等不同存储结构的集合都提供了迭代器,某些集合根据其数据存储结构和所具有的操作也会提供返回数据的方法,例如LinkedList类中的get(int index)方法将返回当前链表中第index个结点中的对象。LinkedList的存储结构不是顺序结构,因此,链表调用get(int index)方 法的速度比顺序存储结构的集合调用get(int index)方法的速度慢。因此,当用户需要遍历集合中的对象时,应当使用该集合提供的迭代器,而不是让集合本身来遍历其中的对象。由于迭代器遍历集合的方法在找到集合中的一个对象的同时,也得到待遍历的后继对象的引用,因此迭代器可以快速地遍历集台。

链表对象可以使用iterator()方法获取一 个Iterator对象,该对象就是针对当前链表的迭代器。

List<String> list = new LinkedList<String> ();

for(int i=0;i<-60096;i++){

    list.add("speed"+i);
}
//迭代器
Iterator<string> iter=list.iterator();

//遍历iter
while(iter .hasNext()){

  string te=iter.next();

}

 

3排序于查找

程序可能经常需要对链表按着某种大小关系排序,以便查找个数据是否和链表中某个结点上的数据相等。Collections类提供了用于排序和查找的算法:

  •  public static sort(List<E> list)该方法可以将 liet中的元素核升序排列。
  • int binarySearch(List<T>list,T key ,CompareTo <T>c) 使用折半法查找list是否含有和参数key相等的元素,如果key与链表中某个元素相等,方法返回和key相等的元素在链表中的索引位置(链表的索引位置从0开始),否则返回-1。

  排序链表或查找对象是否和链表中的结点中的对象相同,都涉及对象的大小关系。

4洗牌与旋转

Collections类还提供了将链表中的数据重新随机排列的类方法以及旋转链表中数据的
类方法。

  • public static void shuffle(List<E> list)将list中的数据按洗牌算法重新随机排列。
  • static void rotate(List<E> list, int distance)旋转链表中的数据。例如,假设list的数据依次为10,20,30,40, 50, 那么Collections.rotate(list,1)之后,list 的数据依次为50,10, 20, 30, 40。当方法的参数distance取正值时,向右转动list中的数据,取负值时,向左转动list中的数据。
  • public static void reverse(List<E> list) 翻转list中的数据。假设list索引处的数据依次为1,2,3,那么Clletions. reverse (is)之后,list 的数据依次为3,2, 1.

5.2.堆栈

 

java虚拟机?

Java的的垃圾回收机制?

Java的的缓存???

Java的的对线程的管理???

版权声明:本文为qq_41329431原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41329431/article/details/81629600

智能推荐

PAT乙级 | 1095 解码PAT准考证 (25分)(做题过程+注意事项+运行超时解决方法)

PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级; 第 2~4 位是考场编号,范围从 101 到 999; 第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位; 最后 11~13 位是考生编号,范围从 000 到 999。 现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。 输入格式: 输入首先在一行中给出两个正整数 ...

谈谈Java异常

0 概述 对于java工程师来说,是经常和异常打交道的,本文主要来谈一谈java中的异常。 1 异常类的继承关系 从下图(说明:图中只是列出部分异常类)可以看出: 异常的基类为Throwable,主要分为两个分支,即Error体系和Exception体系。 Exception下面分为RuntimeException和非RuntimeException(如IOException) 2 几种异常的区别...

通过设立FatFS隐藏分区,实现系统文件和用户文件的隔离

嘛。。这是一个关于个人使用FatFS文件系统的 一点小的经验。 我知道大家都会百度和谷歌,关于文件系统有什么用,文件系统怎么移植上自己的平台,看看资料也就懂了,在这里不再详述( 打字太慢一分钟50-60字懒得写)。本系列默认已经可以将设备模拟成u盘,并且已经通过修改diskio.c,可以实现ff.c中的各项功能( 不能实现的自行面壁)。FatFS项目官网 http://elm-chan.org/f...

Mysql之锁与事务知识要点小结

Mysql之锁与事务 平时的业务中,顶多也就是写写简单的sql,连事务都用的少,对锁这一块的了解就更加欠缺了,之前一个大神分享了下mysql的事务隔离级别,感觉挺有意思的,正好发现一个很棒的博文,然后也收集了一些相关知识,正好来学习下,mysql中锁与事务的神秘面纱,主要内容包括 共享锁和排它锁的区别以及适合范围 mysql的表锁和行锁的区别 怎么判断一个sql是否执行了锁,执行的是表锁还是行锁 ...

响应式图片二 通过srcset实现

具体方法如下: srcset=”图片地址+空格+尺寸描述符,图片地址+空格+尺寸描述符,图片地址+空格+尺寸描述符….” 浏览器会当前浏览的环境进行感知,这个感知包括网速、界面分辨率、DPR(屏幕像素比)等等,然后在图片中选择一个进行加载。 实际上,在相同DPR下,浏览器会根据屏幕的分辨率加载图片,但是加载了大的图片后再缩小还是会使用大的图片。综合考虑的算法非...

猜你喜欢

Training_model(2)

已经清洗处理了两个数据文件: application_{train|test}.csv :客户详细信息 bureau.csv : 客户历史信用报告 下面对这两个数据中的特征进行合并,然后Light Gradient Boosting Machine训练模型,之前只用客户数据的预测评分结果是0.734,这次加入了客户信用报告信息 load data 新增加了客户历史信用记录 Build Model ...

微信小程序 页面跳转(传参跟不传参)

跳转页面传参 1.首先我的目录结构是这样的,并在 cinema.wxml 定义了一个点击事件 bindtap=‘indetai’ 2.然后在 cinema.js 的data里面定义了一个 score,并实现了 indetai 方法 3.在 detai.js 的 data 里面也定义一个 score ,再在 onLoad 函数里面接收传递过来的值 4.在页面上显示得到的值 这...

JavaSE 10(二维数组)

前言:      在经历了血雨腥风的地狱模式后本以为迎来了学习的平静,但二维数组又打破了这难得的平静!!!二维数组在java编程中同样也是很重要的知识点,因此在这里我将整理二维数组的知识点与重点,以及习题,便于自己的复习与巩固。 二维数组的声明与创建: 下面是声明二维数组的语法: 数据类型[][]数组名 : 数据类型数组名[][]; (允许这种方式 ,但并不推荐使用它...

深入理解 Linux 内存机制!| 技术头条

作者 | 阿文 责编 | 郭芮 作为一名Linux 系统运维工程,在日常管理 Linux 的时候,我们经常发现系统的空闲内存差不多总是被用完了。   通常,我们可以通过 top 和 free 查看内存使用情况:     执行 free:     为了更人性化地显示,我们可以加上 -h 选项:       可以看到我们的...