- 博客(22)
- 收藏
- 关注
原创 Java内存模型
一、程序计数器 1.概念: 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。 2.作用: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制。如:顺序执行、选择、循环、异常处理。 在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪。 3.生命周期: 随着线程的创建而创建,随着线程的结束而死亡...
2020-03-27 16:31:12
178
原创 JVM工作过程
一、类加载机制 jvm被划分为三个主要的子系统:类装载子系统(Class Loader Subsystem)、运行时数据区(Runtime Data Area)、执行引擎(Execution Engine) 二、类加载时机 虚拟机规范则是严格规定了有且只有5种情况必须立即对类进行“初始化”(class文件加载到JVM中) 主动初始化的6种方式: 1.创建对象实例:new对象时,会对类进行初始化 2...
2020-03-24 10:37:45
252
原创 JVM基础知识
一、Java的跨平台性 注意:1.跨平台的是java程序,而不是jvm,jvm是用C/C++开发的,是编译后的机器码,不能跨平台。不同平台下需要安装不同版本的jvm 2.编写的Java源码,编译后会生成.class文件,称为字节码文件。Java虚拟机就是jvm,可以运行字节码文件。 二、JVM的概念 Jvm即Java Virtual Machine,Java虚拟机。是在Java编译器和OS平台之间...
2020-03-24 09:13:03
198
原创 Java数据结构------三种排序算法
一、冒泡排序 1.设计思路: 重复走过要排序的数列,一次比较相邻的两个元素,如果第一个比第二个大,就交换它们。这一工作重复地进行直到没有元素在需要交换,该数列排序完成。 2.效率分析: 时间复杂度:O(n^2) 空间复杂度:O(n^2) 3.代码实现: private static <T> void swap(T arr[], int i, int j) { T temp = ...
2020-03-01 13:56:57
136
原创 Java抽象类
一、抽象类 1.定义: 再Java面向对象中,所有对象都是通过类进行描绘的,但并不是所有类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,我们把这种类定义为抽象类。(含有抽象方法的类) 2.特征: 1>不能用来实例化对象,所以抽象类必须被继承才能够被使用,其他的功能和普通类相同 2>一个类只能继承一个抽象类 3>抽象类的修饰符不能是private 3.抽象...
2020-02-26 14:09:58
149
原创 Java继承和多态
一、继承 1.定义: 当我们定义很多部分具有相同的属性和行为的类时,为了允许使用现有类的功能,并在无需改写原来的类的情况下,引入继承的概念。 我们把允许重用现有类称为基类(父类),由基类派生出来的类称为派生类(子类)。 2.基本语法: ```java class 类名 extends 父类名{ } java类的继承通过关键字extends完成,子类继承父类所有的属性和行为。 如果没有指定的父类...
2020-02-26 10:12:12
154
原创 Java类与对象
一、面向对象 1.面向对象的三大特征: (1)封装:把描述对象属性的变量和实现对象功能的方法结合起来,定义一个程序单位,并保证外界不能任意改变内部的属性。 (2)继承:(extends)增强代码的可复用性。 (3)多态:同一个方法名,根据被调对象的不同,实现不同的行为。(主要分为静多态和动多态) 二、类 1.什么是类: 类是一种实体类型的抽象,是一种新的数据类型(从语言层面来看,类就是一个数据结构...
2019-11-30 18:58:39
112
原创 Java类加载
一、类加载器 类加载器其实自身也是一个Java类 (一)系统提供的三种类加载器: 1.启动类加载器(Boostrap ClassLoader) (1)作用:用来加载Java的核心库,由C/C++实现。 (2)管辖范围:jre / lib / *.jar(rt.jar)即在jre/lib路径下的加包都由启动类加载器加载。 如果一个类它的类加载器是启动类加载器,此时getClass Loader();...
2019-11-26 23:12:49
119
原创 JAVA异常处理
一、什么是java异常? 异常就是在程序的运行过程中所发生的意外事件,它中断指令的正常执行。 异常处理一般只针对编译期异常 二、异常处理 1.处理异常的两种方式: (1)捕获异常:就地解决,并使程序继续执行。 (2)声明抛出异常:将异常向外转移,即将异常抛出方法之外,由调用该方法的环境去处理。 2.Error和Exception (1)Error:错误Error类指的是系统错误或运行环境出现的错误...
2019-11-24 19:35:17
172
原创 java数据类型
一、基本数据类型 1.整型: 2.浮点型: 3.字符型: 4.布尔型: 二、引用数据类型 String–>类 三、区别 基本数据类型存放值,引用数据类型存放地址。 ...
2019-11-17 01:57:34
152
原创 Java中MyArrayList和MyStack对比
一、MyStack 1.java栈特性:先进后出 2.数组实现 import java.util.Arrays; public class MyStack { private People[] element; private int size; /* 入栈操作: */ private void ensureCapacity(){ ...
2019-11-17 01:33:41
289
原创 java判断闰年
输入一个年份,判断它是不是闰年。 闰年满足的条件: 1.能被4整除,但是不能被100整除; 2.能被100整除的同时能被400整除。 测试代码: import java.util.Scanner; public class TestDemo { public static void main(String args[]) { System.out.println("请输入年...
2019-11-12 19:24:19
455
原创 JAVA数组
一、一维数组 1.什么是数组? 数组是一个包含相同类型的一个集合(一片连续的内存)。通过一个整型下标可以访问数组中的每一个值。 2.一维数组的定义: (1)int[] arr = new int[10];(数组中包含10个元素,每一个元素的初始值都是int类型的默认值0) (2) int[] arr = new int[]{1,2,3}; 3.一维数组的遍历 (1)for循环遍历: for...
2019-11-10 17:26:42
138
原创 MYSQL学习--------第二节笔记整理
一、数据库范式 1.概念: 制定表的原则。 2.应用数据库范式带来的好处: (1)减少数据冗余; (2)消除异常; (3)让数据组织更加和谐。 3.五个范式: (1)第一范式(1NF):字段不可再分,属性具有原子性(每一列保持原子特性); (2)第二范式(2NF):每一列都和主键相关,除主键外的所有列都依赖于主键; (3)第三范式(3NF):除主键外的所有列都依赖于主键; (4)BC范式(BCNF...
2019-11-10 11:34:21
269
1
原创 JAVA基本概念
一、JAVA代码书写规则 一个java源文件,只允许出现一个public共有类。而且这个共有类的名字必须和文件的名字一样。 二、JAVA的命名规范: 类名称的每个单词首字母要大写,其余字母小写。 类的成员(属性和方法)第一个单词全小写,其余单词首字母大写,其余字母小写。 代码上命名禁止用拼音。 java命名只允许字母、数字、下划线、$(不允许用数字开头,建议大家用字母或者下划线) 类和函数的左...
2019-11-07 00:55:53
135
原创 JAVA运算符
一、Java运算符分类 1.算术运算符:+ - * / % ++ ++、--运算符的四种情况: (1)i++:使用 i之后,i的值再加1,即先取值,后自加。等价于i=i+1. (2)++i:先使I加1,然后再使用i,即先自加,后取值。等价于 i = i+1. (3)i--:使用i之后,i的值再减1,即先取值,后自减。等...
2019-11-07 00:42:58
564
原创 MySQL学习------第一节笔记整理
1.什么是数据库?什么是数据库系统?什么是数据库管理系统? 数据库即数据的仓库,是指长期存储在计算机内,有规律、有组织的和可共享的数据。(便于对数据的存储和管理) 数据:是事实或观察的结果。 数据库系统(DBS)是由数据库及其管理软件组成的系统。 数据库管理系统是用来定义数据、管理和维护数据额软件。 2.数据库发展史 人工管理阶段–》文件系统阶段–》数据库系统阶段 3.MySQL(数据库管理系统)...
2019-10-26 15:47:09
137
原创 在java中MyArrayList的运用
代码: public class MyArrayList{ private int[] element; private int size;//有效个数 private final int INITSIZE = 10; } public MyArrayList(){ this(INITSIZE); } public MyArrayList(int num){ element = new int[...
2019-10-17 19:48:59
313
原创 JAVA数组练习(2)
实现数组中元素的交换 代码部分: import java.util.Scanner; public class Test{ public static void swap(int arr[],int index1,int index2){ int temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; } public ...
2019-09-23 20:27:49
145
原创 JAVA数组系列练习(1)
查找一组数组中是否存在数字6 代码: import java.util.Scanner; public class Test { public static void Search(int arr[]){ for(int i = 0;i<arr.length;i++){ while(arr[i] 6){ break; } } return; } public static void main...
2019-09-23 19:58:02
136
原创 一个很好玩的自动关机小程序
源代码: #include “stdafx.h” #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char input[10] = { 0 }; system(“shutdown -s -t 60”); again: printf(“电脑将在一分钟之内关机!如果输入:...
2019-01-17 17:15:50
1833
2
原创 打印100-200之间的素数
源代码: #include “stdafx.h” #include <stdio.h> int main() { int i = 0; for (i = 100; i <= 200; i++) { int j = 0; for (j = 2; j <= i-1; j++) { if (i%j == 0) break; } if (j>i-1) printf("%d "...
2019-01-15 17:56:01
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅