![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 71
CTRL + C.
这个作者很懒,什么都没留下…
展开
-
Java的强、软、弱、虚引用
四种引用方法,除了强引用外,其他3中引用均可以在java.lang.ref包中找到对应的类。一、强引用什么是强引用?强引用指的是代码中普遍存在的Object obj=new Object()这类的引用,只要强引用存在,垃圾收集器就不会回收被引用的对象。强引用特点:1.强引用可以直接访问目标对象2.强引用所指向的对象在任何时候都不会被系统回收,虚拟机宁愿抛出OOM异常,也不会回收强引用所指的对象。3.强引用可能导致内存泄漏强引用示例:StringBuffer str = new StringB原创 2022-04-22 19:34:00 · 410 阅读 · 0 评论 -
Java内存模型
jdk1.6版本的内存模型:jdk1.8之后版本的内存模型:MethodArea 方法区 特点和java堆是一样的,是各个线程的共享的一个区域,方法区中用于存放,加载的类的信息,常量、静态的变量,即时编译器编译后的代码等数据。代表堆的逻辑部分 Non-Heap新生代 一般程序员新创建的变量 -----存储在新生代中 —GC老年代 剩余的还在使用的变量会存储在老年代中永久代 PernGen ------在jdk的1.8版本之后被删除了StringTable ----指代字符串的常量池 还原创 2022-03-28 15:10:11 · 484 阅读 · 0 评论 -
Java深入
Java既是编译型语言又是解释型语言因为Java语言都是要通过编译之后才能够进行解释的,不通过编译的Java语言进行不了解释。编译之后的Java语言要在JVM下进行解释。Java完整的编译解释顺序:生成.java文件👇生成.class字节码文件👇程序跑完编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!区别编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。解释型语言,执行速度慢、原创 2022-03-18 20:17:29 · 226 阅读 · 0 评论 -
银行排队叫号系统项目总结
一、利用Java编写一个银行排队叫号系统,初次尝试写项目。首先在Java的项目内添加一个lib文件夹,这个文件夹用来装各种所需要用到的jar包:这是这个项目需要用到的jar包。二、其次是分好各个需求包,在src文件内:可以在包的后缀看到需求包内所需的内容。几个比较主要的包:1 java的传统对象 POJO domain -----实体类2. 业务----提供业务的标准 接口 服务 ----Service3. 业务实现类 ----对业务具体的实现 ServiceImpl4. 数据链原创 2021-11-30 11:16:19 · 2094 阅读 · 0 评论 -
Java--网络编程专题
网络编程又称套接字(socket)编程什么是网络:网络就是计算机间进行数据通信和交流的一种工具这种工具是有大量的网络设备(交换机、路由器、光纤、同轴电缆、双绞线)+计算机组成网状结构:保证传输的稳定性为什么使用网络:目的:互相传递数据、通信网络间的数据传输:远程进程间的传输|-- 本地进程:指的是同一台电脑中,不同进程间的数据传输|-- 远程进程:指的是,两台或者跟多电脑间,数据的传输基本的网络概念:|-- 协议(protocol):广义来说:双方规定的一些大家必须要遵循的规则网络原创 2021-08-16 19:29:47 · 113 阅读 · 0 评论 -
Java多线程高并发专题——常见面试题
1DCL1)DCL的全称:双重检查加锁(double-checked locking),DCL是在单例模式下的懒汉式写法,这样可以比较高效的处理线程安全问题,但是在DCL双重锁下依然会运行出可能出现的线程安全问题,这就是指令重排序的问题,所以我们就会用到volatile关键字,等会我会在第二点介绍这个关键字,首先来看看懒汉式双重锁的写法:可见在懒汉式的注释下便是双重锁的写法,但是我们也看到了定义空对象时用到的volatile关键字。 2volatile关键字2)volatile关键字...原创 2021-08-10 18:32:58 · 469 阅读 · 0 评论 -
Java多线程中synchronized和Lock的区别
synchronized:Java提供的内置锁机制,Java中的每个对象都可以用作一个实现同步的锁(内置锁或者监视器Monitor),线程在进入同步代码块之前需要或者这把锁,在退出同步代码块会释放锁。而synchronized这种内置锁实际上是互斥的,即每把锁最多只能由一个线程持有。Lock接口:Lock接口提供了与synchronized相似的同步功能,和synchronized(隐式的获取和释放锁,主要体现在线程进入同步代码块之前需要获取锁退出同步代码块需要释放锁)不同的是,Lock在使用的时候是显示原创 2021-08-09 18:03:55 · 383 阅读 · 0 评论 -
Java多线程中继承Thread和实现Runable接口的区别?
继承Thread和实现Runable接口的区别?继承Thread类的子线程类,多个线程对象间是无法共享成员变量的!!!如果是静态成员,也是共享的!!!!实现Runable接口都子线程类,多个线程对象间是共享线程类的成员变量的!!!其实,抽象来说,这并不是Thread类和Runnable接口的区别了,这可以看做是接口和继承的问题。我们弄懂了接口和继承,就不难理解Thread和Runnable。在刚接触的时候可能会有些迷糊这二者的区别于联系,但是实践和总结过后我们会发现这是两个完全不同的实现多线程,一原创 2021-08-09 09:24:44 · 361 阅读 · 0 评论 -
Java中的线程安全问题
Java中有多线程编程,但多线程编程里会有线程安全问题,我们来简谈一下什么是线程安全问题。线程安全:在操作系统,因此线程之间是是共享同一个进程间的数据的,如果出现多线程,则有可能出现线程安全问题!!!!多线程的情况下(并发情况下):线程间共享数据,有可能现出安全问题。解决方案:加锁java提供两种加锁方案: jdk1.0提供了,是一个关键字 synchronized(同步) jdk5.0提供了,Lock接口同步锁:有三种写法1、放在方法上:整个方法都是同步如果某个方法中所有代码,都原创 2021-08-08 23:04:20 · 270 阅读 · 0 评论 -
Java--IO流部分内容
IO流部分的学习我认为是各类方法的集合使用,了解IO流并不难,就像之前学习Java内容里面的一些方法一样,只是他所对待的应用方向不同而已,下面我来轻谈IO流的部分知识及使用方法。接下来我会通过几个部分来介绍IO流中的一些方法的使用首先是IO流的入门知识,什么是IO流什么是IO流:IO Stream(input output Steam):输入输出流本质指的就是计算机中数据的流入和流出:从磁盘上将数据读入内存从内存中将数据写入到硬盘也就是说,从狭义上来说,我们一般IO流指的就是磁盘和内存原创 2021-08-05 20:09:17 · 156 阅读 · 0 评论 -
Java集合中的常见面试题
今天总结了集合中的四种方法和两种类:HashtableConcurrentHashMapTreeMapLinkedHashMapCollections类Arrays工具类我依次对这些方法和类进行具体阐述:HashtableHashtable的类声明是这样的:public class Hashtable<K,V>extends Dictionary<K,V>implements Map<K,V>, Cloneable, Serializable原创 2021-08-03 20:35:58 · 112 阅读 · 0 评论 -
常见面试题总结
1、ArrayList和Vector的区别?2、ArrayList、Vector和LinkedList的区别?1、ArrayList和Vector的区别?一、ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。原创 2021-07-30 20:45:52 · 123 阅读 · 0 评论 -
Java中常见的系统类
Java中的日期类设计的比较失败,刚开始使用Date来计算时间,后来大部分Date类的方法都过时了;想用Calendar类代替Date类,然而Calendar类也是不尽如人意。下面简单介绍下Java中的日期转换方法。这里讲到了两个类,一个是日期一个是格式化类,主要演示如何使用:日期日期相关的操作:Date类格式化时间日期的对象SimpleDateFormat在jdk8之后,系统不再推荐使用这些类如上的的日期和时间处理类都是非线程安全类,在早期没有高并发的情况可以正常使用。高并发的情况原创 2021-07-27 22:02:38 · 348 阅读 · 0 评论 -
初学java
初学javaJDK的安装步骤首先进入oracle的官网,查看java8.0或着java11.0(初学)并进行下载,这两个版本在当下比较实用。并点击JDK Download进行下载注意我们一般在winx64下进行下载下载完后就是进行安装:...原创 2021-07-05 20:26:31 · 98 阅读 · 0 评论 -
JAVA入门--变量和数据类型
变量:首先们要阐明什么是变量:在程序运行时(runtime),可以发生变化的量。具有名称的内存空间,叫做变量。而定义变量的方式有两种:1.初始化数据类型 变量名称 = 变量值;如:int a = 20;2.先声明,后赋值先声明:数据类型 变量名称后赋值:变量名称=变量值如:int a ;a = 20;在定义变量的过程中有规则:1、标识符只能由有效符号(大小写字母、数字、_、$、中文)组成,不能使用特殊符号。2、不能以数字开头3、不能以关键字或者保留字作为标识符以上是定义变量..原创 2021-07-07 09:54:33 · 326 阅读 · 1 评论 -
java基础--常见的运算符
Java的基础学习中,常见的运算符是有必要掌握的。算数运算符:加减乘/ 整除% 相除取余这些运算符跟我们的数学运算符很类似 ,但其中有几个的作用并不相同加减乘,都是类似的整除/ 这个运算符的意思是两数相处 ,然后取相除的整数部分。例如:相除取余:这就是得到的效果100/205100%201就是这个意思2.比较(关系)运算符:><>=<=!===结果是什么类型:boolean关系运算符的结果是布尔类型,(如:t原创 2021-07-10 09:11:26 · 533 阅读 · 0 评论 -
Java-程序控制流程总结
程序控制流程分为三大板块:|-- switch语句块|-- 循环for循环whiledo while 循环 |-- 循环加强switch语句块:switch(变量) {case 常量1:代码1break;case 常量2:代码2break;…case 常量n:代码nbreak;[default:其他情况;break;]}这是switch语句块的结构,每个case语句后面都应该跟接一个break或者是contine以免造成代码运行过程中,进入switch原创 2021-07-11 09:09:45 · 288 阅读 · 0 评论 -
java--函数部分总结
函数有很多内容:函数(function):|-- 什么是函数|-- java如何定函数|-- 函数的调用|-- 函数的分类|-- 局部变量|-- 函数在内存的调用的本质|-- 函数重载(overload)|-- 函数递归什么是函数编程语言中函数和数学中的函数不是一个东西,所以不用把Java中的函数与数学中的函数连接起来。函数:为了解决某一特定问题,具有名称的的代码集合。函数也就是现实中的一种行为动作!!!。什么叫代码集合,什么为现实中的一种行为动作呢解决问题某一问题而具有名原创 2021-07-13 14:32:15 · 207 阅读 · 0 评论 -
java--数组
数组一种比较特殊的容器,因为数组的定义是:数组是一种连续的内存空间的分配!!!概念:同一种类型数据的集合。其实数组就是一个容器。好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。数组里面存储的类型只能为同一种类型的数据,不能像集合那样存在着不同的数据。Java定义数组的方法:数据类型[] 变量名称 = new 数据类型[大小];例如:int[] arr = new int[10];形如这样的定义方法就是数组的一种定义方法,这个代表定义一个数组,大小为10个元素;在定义的同原创 2021-07-16 10:18:53 · 100 阅读 · 0 评论 -
Java--算法初探
Java的算法非常多,而且也非常的抽象或者说难以理解,但是我们循序渐进去了解算法里面的内涵,相信大家多思考一定能够探明究竟的下面我来讲算法里面的排序方法中的其中三个比较普遍的排序:冒泡排序法冒泡排序是非常常规的排序方法,他是通过研究鱼在水中吐泡泡的原理进行的一种排序方法,就是有一点压栈的意思,大的数字向上浮,小的数字向下沉,类似一种物理原理的方式来进行排序的,下面用一个实例来实际探究一下:这是一个图例,原理是每次两两相比较,大的往后走,小的往前走。下面是一个例题:输入一个数组:int[] a原创 2021-07-16 10:53:38 · 126 阅读 · 0 评论 -
Java--面向对象学习第一天
初学Java第一天所学的知识都包含着比较多的内容,对于Java这种面向对象的语言,初学时,我们应该每天都有总结来巩固所学的知识。今天所学的内容:|-- 面向对象的概念|-- 类和对象|-- 类的定义|-- 属性|-- 方法|-- 对象的创建|-- 对象的方法和属性的调用|-- UML统一建模语言(Unified Modeling Language)图的使用|-- 类图首先了解面向对象的概念什么是面向对象:分类的思想所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世原创 2021-07-17 21:53:08 · 104 阅读 · 0 评论 -
Java--面向对象学习第二天
List item原创 2021-07-18 18:59:16 · 128 阅读 · 0 评论 -
Java--面向对象第三天
Java面向对象的学习第三天,慢慢开始接触更加抽象的东西了,今天学习的内容如下:|–访问修饰符|–继承|–封装|–覆盖|–注解|–super关键字|–instanceof关键字|–final关键字|–toString方法访问修饰符java本身提供了四个访问修饰符:public 在任何地方都可以正常访问,权限最大(作用域)protected 同包、子类、同类默认(缺省)| 不写 同包、同类private 同类每种修饰的作用域不同通过英文单原创 2021-07-20 20:17:06 · 109 阅读 · 0 评论 -
Java--面向对象学习第四天
Java面向对象学习的第四天,今天学习的内容感觉抽象,不太容易理解,但是多加练习,这部分内容并不难今天学习的内容有:|–内部类|–多态|–抽象类|–匿名内部类|–接口|–接口的实现类|–接口的命名规范内部类内部类,顾名思义是类内部的类,但他是如何定义的呢:如何定义内部类内部类可以直接访问包裹着它的外部类任何属性和方法(包括私有的)一般而言,定义内部类,注意的目的,肯定是在包裹着它的外部类中使用它。他是存在于类的内部从而对类内部的各种属性和方法进行使用的内部类有点跟继承相似,原创 2021-07-22 10:47:30 · 103 阅读 · 0 评论 -
Java--面向对象学习第五天
List item原创 2021-07-23 21:36:11 · 84 阅读 · 0 评论 -
Java--面向对象学习第六天
面向对象的学习接近尾声了,今天学习的内容是面向对象接近结尾的部分,内容有:|–Object类的学习|–native关键字|–对象拷贝|–引用传递|–浅拷贝|–深拷贝Object类的学习在java,所有的类都是Object类子类,Object类是所有类的父类。类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。简单来说就是,Object类是所有类的父类,包括我们所写的类,我们在使用类的时候就会利用Object类中的方法万原创 2021-07-25 12:02:29 · 85 阅读 · 0 评论 -
Java常见的部分面试题及解析
这搜集的一些比较常见的面试题,这次罗列出来主要解析一下:|–final 在 java 中有什么作用?|–普通类和抽象类有哪些区别?|–抽象类能使用 final 修饰吗?|–接口和抽象类有什么区别?|–深拷贝和浅拷贝区别是什么?|–throw 和 throws 的区别?|–final、finally、finalize 有什么区别?|–try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?|–常见的异常类有哪些?1.final 在 jav原创 2021-07-26 21:34:30 · 133 阅读 · 0 评论