![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 63
sj8921202
这个作者很懒,什么都没留下…
展开
-
JVM简单了解
JVM的简单介绍一、原创 2021-11-30 14:11:24 · 349 阅读 · 0 评论 -
java的沙箱安全机制
java的沙箱安全机制转自 “狂神说”一、介绍Java安全模型的核心就是java沙箱sandbox,将java代码限定在jvm特定的运行范围中,并严格限制代码对本地系统资源访问,这样来保证代码的有效隔离,防止对本地系统造成破坏。所有java程序运行都可以指定沙箱,可以定制安全策略。java将执行程序分成本地代码和远程代码,本地代码默认可信任,远程不受信任。JDK1.0时,非授信的远程代码的安全完全依赖于沙箱机制。如此严格的安全机制给程序扩展带来障碍,因此后续1.1版本做了改进,增加了安全策略,允原创 2021-11-23 16:23:38 · 1986 阅读 · 0 评论 -
jAVA泛型
JAVA泛型一、什么是泛型概念:Java泛(generics)是JDK5中引入的一个新特性,泛型提供了编译时类的安全监测机制,该机制允许我们在编译时检测到非法的泛型数据结构。 泛型的本质是参数化类型,也就是所操作的数据类型被指定为一个参数。意义:类型安全, 消除强制类型转换。二、泛型类、接口泛型类(接口)定义语法:class 类型名 <泛型标志,泛型标识,...> { private 泛型标识 变量名; ...}常用泛型标识:T 、 E 、 K原创 2021-11-12 15:16:50 · 67 阅读 · 0 评论 -
java异常
一、什么是异常实际程序运行场景不会是一切都很完美,会遇到各种不合规、资源短缺、操作失误等问题。这些各种实际情况可能引起程序运行时出现不期而遇的非正常状况。这就是异常。二、异常分类java设计之初就提供了一整套异常处理机制,顶级超类Throwablle,往下分为Exception和Error两大接口。** Exception **:程序员可以处理的情况;** Error **:是错误,程序员无法处理的问题,通常不必管它,尽量避免。如栈溢出,写程序时尽量避免大量使用内存资源而不释放,一旦出现这种错误原创 2021-09-28 17:10:21 · 78 阅读 · 0 评论 -
抽象类和接口
java面向对象精髓之抽象类和接口1、抽象类1、 抽象类是class前用abstract修饰的类,抽象方法是方法前用abstract修饰的方法;2、抽象类里不一定有抽象方法(真没有就没必要写成抽象类了);只要有一个抽象方法,该类必须是抽象类;3、抽象类不能实例化,但可以有构造器;4、抽象类可以在创建匿名内部类时,new出来;(本质是实例化抽象类的实现子类)2、接口1、接口使用interface表示,替换class位置;2、接口内所有方法都是抽象方法,且默认必须是public,可省略;3、接原创 2021-09-28 09:24:24 · 64 阅读 · 0 评论 -
java三大特性之继承
1、Java是单继承的,一个子类(派生类)只能有一个父类(基类)。一个儿子只可能有一个父亲。2、super和this:super代表的是父类对象;super()待用弗雷构造器,必须在子类构造方法第一行,可以省略;super关键字只能出现的子类的方法中;this调用者本身对象;this()是本类构造器;this关键字在没有继承时也可以用,如调用自身的其他方法。3、重写前提是有继承关系,才可谈子类重写父类方法;方法名、返回值、形式参数必须一致,及方法必须一致;修饰符可以扩大,不.原创 2021-09-26 10:25:10 · 103 阅读 · 0 评论 -
冒泡排序理解
1、原理:从第一位元素起,依次比较相邻两个元素,不符合规则(如小的在前)则互换位置。这样一轮(比较完整个队列)下来,(最大/最小)元素将换到最后一位,这也是冒泡排序的名称的由来。第二轮重新开始,同样的过程,最终结果第二(大/小)的元素将被换到倒数第二的位置...直到n-1轮结束,第n-1大的元素换到该在位置了,整个排序结束。2、java代码实现for(int i=0; i<array.lenth-1; i++){ for(int j=0; j<array-1-i; j++){..原创 2021-09-23 22:10:06 · 86 阅读 · 0 评论 -
Javadoc是什么
1、首先写java代码的都需要人手一份jdk帮助文档,比如jdk8的官网在线帮助文档:https://docs.oracle.com/javase/8/docs/api/它长这样:这就是javadoc输出的标准文档。2、java中注释一共有三种:单行注释、多行注释和文档注释。文档注释像这样:/** * 该方法的描述 * @param name 名称 * @return 一个字符串 */public String getStr(String name){ ..原创 2021-09-15 22:10:09 · 209 阅读 · 0 评论 -
Java中的位运算符
Java位运算符包括:& 、 | 、 ~ 、 ^ 、 << 、 >> 、 >>> 。& 表示同一位上两个都为1,则结果为1。如“ 1101 & 1001”的结果是“1001”。| 表示同一位上两个只要有一个为1,则结果为1。如“ 1101 & 1001”的结果是“1101”。~ 表示取反,如“ ~1101”的结果是“0010”。^ 表示异或,同一位上两个不一样,则该位结果为1,反原创 2021-09-14 17:39:18 · 244 阅读 · 0 评论 -
JAVA基本数据类型
Java基本数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。bytebyte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,byte b = -50。shortintlongfloatdou原创 2021-09-09 17:24:00 · 90 阅读 · 0 评论 -
多线程初探
一、线程简介1、进程:抽象概念,没有统一标准定义。它是具有一定独立功能的程序在数据集上的一次动态执行过程,是操作系统进行资源分配和调度的最小单位。2、线程:抽象概念,是比进程更小的抽象。它是程序执行中一个单一的顺序控制流程,是程序执行的最小单元,是处理器调度和分派的基本单位。3、区别:a.线程是程序执行的最小单位,进程是操作系统分配资源的最小单位; b.一个进程可以包含多个线程,线程是进程中代码的不同执行路线; c.进程之间相互独立,而同一进程下的多个线程间可以共...原创 2021-07-06 14:43:59 · 77 阅读 · 0 评论 -
java中int与Integer用==比较详解
前言: 越是简单的东西,我们往往越是没有去把它明白,但我们大部分时间又常常在用,就像我们今天说的int与Integer的使用,我们程序员基本天天都在用,但是我今天没用详细弄清楚之前我也是不清楚,我们来看看这两个在用==号比较给我们带来的疑问。 先看看下面的代码,看看我们是否都会 @Test public void testEquals() { int int1 = 12; int int2 = 12; ...转载 2020-12-24 22:31:18 · 730 阅读 · 0 评论 -
i++和++i命令的区别
1、赋值顺序不同++ i 是先加后赋值;baii ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。2、效率不同比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环...转载 2020-12-24 22:14:18 · 531 阅读 · 0 评论 -
hashmap
https://blog.csdn.net/USTC_Zn/article/details/78173217原创 2020-11-05 14:56:25 · 59 阅读 · 0 评论 -
java中的“==”和equals方法总结
1、“==” 比较运算符如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 。2、equals方法所有类继承自Object类,如果不重写,默认的equals方法表示的是对象的内存地址是否相等,hashcode返回的是对象的内存地址;基本类型的包装类、String、Date等皆重写了equals方法,对比的是“值”而不是地址,当然重写equals方法就必须重写hashcode方法。(java中大部分类都重写了equal原创 2020-11-05 11:18:17 · 87 阅读 · 0 评论 -
java关键字-----Volatile
https://ifeve.com/syn-jmm-volatile/转载 2020-10-20 10:58:37 · 84 阅读 · 0 评论 -
java基础-内存可见性
一、概念可见性:一个线程对共享变量的修改,可以及时被其他线程看到。所有变量都存在之内存中,每个线程都有自己的工作内存,每个工作内存中都有一个变量副本;线程只能读写自己工作内存里的变量副本。可见性的时间原理:线程一修改变量副本-->副本更新主内存-->其他工作内存从主内存更新变量-->线程二(三)读取变量二、实现java语言层面实现可见性的两种方式:synchonized 和 volatile(1)synchonized JVM规定synchroni...原创 2020-10-20 10:48:04 · 225 阅读 · 0 评论 -
java基础--类加载
#一、字节码字节码文件即.class文件,里面是这样的:其中“cafe babe”被称为“魔数”,是 JVM 识别 .class 文件的标志。所有java源文件(.java)编译完成后生成字节码文件(.class),交由JVM执行。JVM读取、加载.class文件的过程就是类加载。#二、类加载过程类加载分为三个步骤:加载、连接(验证、准备、解析)、初始化。##1、加载loading加载指的是将类的class文件读入到内存——将字节码从不同的数据源(可能是 class 文件、也原创 2020-10-19 23:24:39 · 106 阅读 · 0 评论