
java基础
文章平均质量分 51
Austinu
贵有恒,何必三更起五更眠。最无益,只怕一日曝十日寒。
展开
-
happens-before 关系
happens-before 关系 是怎样的,如何验证volatile 关键字 存在 这种关系呢原创 2024-06-04 21:20:20 · 682 阅读 · 0 评论 -
增强for的实现原理
这是ForTest.java文件public class ForTest { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); for (int i = 0; i <3; i++) { list.add(i); } //原创 2021-11-05 11:47:13 · 441 阅读 · 0 评论 -
移位操作笔记
public class Test { /** * 右移相当于是 右边去掉 0 ,移位的个数就是去掉的个数 * 左移相当于是 昨天添加1 ,移位的个数就是添加的个数 * @param args */ public static void main(String[] args) { int a = 2 >> 1; // 10 --> 1*2^1+0*2^0 = 2 ===> 01 --> 0*2^原创 2021-08-01 14:57:57 · 134 阅读 · 0 评论 -
不使用任何strlen之类的库函数 写一个函数,将一个字符串中的单词反转过来
【简答题】写一个函数,将一个字符串中的单词反转过来,单词的定义是:完全由字母组成且由空格分开的字符串。例如下面的字符串:“a hello1 abc goodl”,其中“a”和“abc”是单词,而“hello1”和“good!”不是单词(原因是这两个字符串中包含非字母的字符1和!)。 反转过来的结果就是“a hello1 cba good!”要求:不使用任何strlen之类的库函数碰到了两次,在此记录一下思路是这样的首先将字符串按照单词拆开,之后再转换成字符数组,然后就进行遍历每个单词。单词中只原创 2021-03-30 15:24:27 · 490 阅读 · 0 评论 -
# Java知识总结
java基础知识变量的本质:“可操作的存储空间”,空间位置是确定的,可通过变量名来访问“对应的存储空间”,从而操作这里面的值。自动类型转换:容量小的数据类型可以自动转换为容纳量大的数据类型。4.4 面向对象的内存分析Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。栈的特点如下:1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数转载 2020-06-24 14:50:16 · 278 阅读 · 0 评论 -
阅读笔记--静态检查
静态检查–摘要避免错误。 静态检查通过在运行时捕获类型错误和其他错误来帮助提高安全性。容易明白。 因为类型在代码中明确声明,所以有助于理解。准备好进行更改。 静态检查可以通过识别需要串联更改的其他位置来更轻松地更改代码。例如,当您更改变量的名称或类型时,编译器会立即在使用该变量的所有位置显示错误,并提醒您也更新它们。Hailstone Sequence(冰雹序列)作为一个运行中的示例,我们将探索冰雹序列,其定义如下。与一些起始Ñ,序列中的下一个号码是N / 2,如果Ñ是偶数,或3N + 1如果Ñ为原创 2020-05-08 18:53:40 · 356 阅读 · 0 评论 -
java的监控输入流System.in的办法是啥呢
今日刷题遇到一个问题,如下所示:在键盘输入多个数据1 23 4…怎么做呢?看下面:while (scanf("%d%d", &a, &b) != EOF && a && b);这是C++里面用于监控输入流用的,它可以解决这个问题。System.in似乎没有欸。但是Java似乎没有这么简单,可能是我的知识面有待提升吧,所以欢迎讨...原创 2019-11-30 18:18:51 · 473 阅读 · 0 评论 -
面向切面的编程(AOP)
面向切面的编程(AOP)目前我对面向对象的理解是:动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程可以和面向对象的编程做对比,具体百度百科就描述的不错,所以我就不赘述了。而面向对象的编程是通过动态代理实现的。下面通过一个简单示例通了解一下面向对象编程的思想。一.面向切面编程的引入1.1创建Person类package edu.xatu;import org...原创 2019-09-13 20:01:13 · 380 阅读 · 0 评论 -
反射
5.7.反射 能够分析反射能力的程序称为反射(reflective)。反射机制可以用来:在运行时分析类的能力运行时查看对象,例如,编一个toString方法供所有类是使用实现通用的数组操作代码利用Method对象,这个对象很像c++中的函数指针反射是一种功能强大且复杂的机制。使用它的主要人员是工具构造者,而不是应用程序员。5.7.1 Class类 在程序运...原创 2019-08-25 15:26:40 · 248 阅读 · 0 评论 -
Json和JsonUtil的功能--字符串与对象之间的相互转化
一、在介绍Json对象与字符串相互转换的前提下,先创建Address类和Student类/Address类********/public class Address {private String homeAddr;private String collegeAddr;@Overridepublic String toString () { return "Address{" ...原创 2019-07-25 19:18:34 · 1755 阅读 · 0 评论 -
Serializable的意义
首先说明Serializable主要作用将类的实例持久化保存,序列化就是保存,反序列化就是读取。保存也不一定保存在本地,也可以保存到远方。类一定要实现Serializable才可以操作的Student类(实现在网络应用部分和这块儿都有不同程度的体现)import java.io.Serializable;//套节字的创建是靠 Socket 和 ServerSoket ; 而输入输出靠流pub...原创 2019-07-03 23:06:54 · 496 阅读 · 0 评论 -
java中的重写和重载
1.对重写与重载的理解重写是在继承的基础上,子类中再次写出父类中的一个或多个方法的操作。父类Programer中的有些方法对于子类Manager并不一定适用,如Manager中的getSalary方法应该返回薪水和奖金的总和。因此,需要一个心的方法来覆盖父类Programer中的这个方法:/**程序员类属性:姓名 工号 工资行为:工作work(打印姓名、工号、工资)@author ...原创 2019-05-10 19:29:09 · 205 阅读 · 0 评论 -
Java继承中的多态性
Java继承中的多态性原创 2019-05-10 20:44:49 · 354 阅读 · 1 评论 -
Java之继承性
继承的优点:与面向过程语言比较(如C):代码量越大越节省创造代码的时间。例如:父类public class Food {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;} }子类1public cla...原创 2019-05-10 21:14:59 · 184 阅读 · 0 评论 -
List中存放若干学生对象(学生有学号,姓名,性别等属性),去除List中重复的元素,并按学号降序输出。
package DailyWork;import java.util.*;/**List中存放若干学生对象(学生有学号,姓名,性别等属性),去除List中重复的元素,并按学号降序输出。*/class Student implements Comparable{private int age;private int id;private String name;privat...原创 2019-06-10 17:06:31 · 1107 阅读 · 0 评论 -
Map、Set集合存放是无序的,然而LinkedHashSet和LinkedHashMap等集合却有序,解释是什么原因
Map,Set集合类似于一个罐子,把一个对象添加到Set集合时,Set集合无法记住添加这个元素的顺序,所以Set里的元素不能重复,否则系统无法准确识别这个元素LinkedHashSet --> (继承于) HashSet -- > Set --> CollectionLinkedHashMap -- > (继承于) HashMap -- > Map当向 Lin...原创 2019-06-10 18:12:40 · 1438 阅读 · 0 评论