基础
文章平均质量分 61
weixin_43260413
这个作者很懒,什么都没留下…
展开
-
String、StringBuilder和StringBuffer的区别
String、StringBuilder和StringBuffer的区别 1. 可变性 String 不可变 StringBuffer 和 StringBuilder 可变 2. 线程安全 String 不可变,因此是线程安全的 StringBuilder 不是线程安全的 StringBuffer 是线程安全的,内部使用 synchronized 进行同步 String 查看String类的继承关系: public final class String implements java.io.原创 2020-11-08 20:36:05 · 122 阅读 · 2 评论 -
Java的类加载顺序
Java的类加载顺序 单的类的加载顺序 测试在没有明确声明继承类的时候的加载顺序。 代码如下: class People { static int b = loadStatic(); int a = load(); static { System.out.println("静态代码块"); } { System.out.println("实例代码块"); } public People() { Sys原创 2020-11-07 17:54:51 · 87 阅读 · 0 评论 -
Java的基本特性
面向对象 面向对象和面向过程的区别 面向过程主要是把问题分解成不同的步骤,然后把各个步骤转换成方法,最后根据步骤调用相应的方法,它更加强调过程 面向对象会把问题分解成各个对象,然后各个对象之间进行交互,每个对象内部进行了封装 通过不同对象之间方法的调用来完成一个项目或者是解决一个问题(但是这样直接在调用方里面创建对象会造成代码耦合度过高) 面向过程注重过程,面向对象注重对象之间的交互。面向对象将复杂的事情简单化,我们从行动者变成了指挥者。面向对象开发就是去创建对象,指挥对象做事情。 跨平台 Java的跨平台原创 2020-11-06 21:35:41 · 156 阅读 · 2 评论 -
判断一个序列是否是另外一个序列的出栈序列(java实现)
判断一个序列是否是另外一个序列的出栈序列 在各种刷题网站上刷题时,如果刷的是单选题的话,常常会遇到这样一个问题: 如果进栈序列为1,2,3,4,则可能的出栈序列是() 注:一个元素进栈后可以马上出栈,不用等全部进栈 正确答案: B C A.3,1,4,2 B.2,4,3,1 C.2,3,4,1 D.任意顺序都有可能 如果单纯的做选择题的话,是挺简单的,一个选项一个选项的对比,观察是否能够通过进栈序...原创 2019-12-07 22:32:24 · 273 阅读 · 1 评论 -
两个栈实现一个队列和两个队列实现一个栈(java实现)
两个栈实现一个队列: 首先要清楚栈的特点是后进先出,然后队列的特点是先进先出,这样的话,用两个栈就可以实现队列的特性。 public class TwoStackToQueue { private Stack stack1; private Stack stack2; public TwoStackToQueue(){ stack1 = new Stack<>(); stack2 = ...原创 2019-10-09 22:16:30 · 99 阅读 · 0 评论 -
常见的七种排序方式(java实现)
一、 冒泡排序: 稳定性:稳定 空间复杂度:O(1) 平均时间复杂度:O(n的平方) 最优情况时间复杂度:O(n) 最坏情况下时间复杂度:O(n的平方) public static void bubbleSort(int[] arr){ for(int i = 0;i<arr.length;i++){ boolean flag = false; ...原创 2019-12-03 17:41:02 · 115 阅读 · 0 评论 -
Java的类加载过程
类的加载过程可分为五个阶段:1.加载2.链接3.初始化阶段4.使用5.卸载 1.加载 .java文件 java编译器 编译阶段 语法语义词法解析 .class java解释器 加载到JVM上运行 通过类加载器将字节码文件加载到JVM上运行 2.链接 在链接阶段又可以分为3个小阶段 1.验证 验证是链接阶段的第一步,这一阶段的目的是为了确保Class文件的字节流中包含的信息符合当前虚拟机的要求,...原创 2019-09-06 11:27:32 · 138 阅读 · 0 评论