- 博客(62)
- 资源 (3)
- 收藏
- 关注
原创 Java的强、软、弱、虚引用
四种引用方法,除了强引用外,其他3中引用均可以在java.lang.ref包中找到对应的类。一、强引用什么是强引用?强引用指的是代码中普遍存在的Object obj=new Object()这类的引用,只要强引用存在,垃圾收集器就不会回收被引用的对象。强引用特点:1.强引用可以直接访问目标对象2.强引用所指向的对象在任何时候都不会被系统回收,虚拟机宁愿抛出OOM异常,也不会回收强引用所指的对象。3.强引用可能导致内存泄漏强引用示例:StringBuffer str = new StringB
2022-04-22 19:34:00
418
原创 Java内存模型
jdk1.6版本的内存模型:jdk1.8之后版本的内存模型:MethodArea 方法区 特点和java堆是一样的,是各个线程的共享的一个区域,方法区中用于存放,加载的类的信息,常量、静态的变量,即时编译器编译后的代码等数据。代表堆的逻辑部分 Non-Heap新生代 一般程序员新创建的变量 -----存储在新生代中 —GC老年代 剩余的还在使用的变量会存储在老年代中永久代 PernGen ------在jdk的1.8版本之后被删除了StringTable ----指代字符串的常量池 还
2022-03-28 15:10:11
504
原创 Java深入
Java既是编译型语言又是解释型语言因为Java语言都是要通过编译之后才能够进行解释的,不通过编译的Java语言进行不了解释。编译之后的Java语言要在JVM下进行解释。Java完整的编译解释顺序:生成.java文件👇生成.class字节码文件👇程序跑完编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!区别编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。解释型语言,执行速度慢、
2022-03-18 20:17:29
231
原创 银行排队叫号系统项目总结
一、利用Java编写一个银行排队叫号系统,初次尝试写项目。首先在Java的项目内添加一个lib文件夹,这个文件夹用来装各种所需要用到的jar包:这是这个项目需要用到的jar包。二、其次是分好各个需求包,在src文件内:可以在包的后缀看到需求包内所需的内容。几个比较主要的包:1 java的传统对象 POJO domain -----实体类2. 业务----提供业务的标准 接口 服务 ----Service3. 业务实现类 ----对业务具体的实现 ServiceImpl4. 数据链
2021-11-30 11:16:19
2118
原创 数据表的增删改
我们运用数据库来存储资料,但是在存储的时候如何增删改它呢,其中有一些命令展示:一、首先是增加:insert关键字1.1【插入单行】insert [into] <表名> (列名) values (列值)例:insert into Strdents (id,username,password,salary) values (‘2’,‘asfasf’,‘2412412’,8542.00)1.2【将现有表数据添加到一个已有表】insert into <已有的新表> (列名) se
2021-11-11 16:48:16
360
原创 数据库建表基础
数据库的建表是很基础的内容,其中有几个基础的命令:下面是用到的建库的指令:1 create database + 库名字;2 use + 库名;3 create table + 表名;4 desc + 表名 (查看数据对象的内容);5 select * from + 表名;6 insert into + 表名 values(id,‘username’,‘password’,‘salary’);以上是简单的创建表的步骤和添加表中内容????以下是代码展示:????这是简易的建表步骤
2021-11-11 16:02:04
1689
原创 Java--网络编程专题
网络编程又称套接字(socket)编程什么是网络:网络就是计算机间进行数据通信和交流的一种工具这种工具是有大量的网络设备(交换机、路由器、光纤、同轴电缆、双绞线)+计算机组成网状结构:保证传输的稳定性为什么使用网络:目的:互相传递数据、通信网络间的数据传输:远程进程间的传输|-- 本地进程:指的是同一台电脑中,不同进程间的数据传输|-- 远程进程:指的是,两台或者跟多电脑间,数据的传输基本的网络概念:|-- 协议(protocol):广义来说:双方规定的一些大家必须要遵循的规则网络
2021-08-16 19:29:47
122
原创 Java多线程高并发专题——常见面试题
1DCL1)DCL的全称:双重检查加锁(double-checked locking),DCL是在单例模式下的懒汉式写法,这样可以比较高效的处理线程安全问题,但是在DCL双重锁下依然会运行出可能出现的线程安全问题,这就是指令重排序的问题,所以我们就会用到volatile关键字,等会我会在第二点介绍这个关键字,首先来看看懒汉式双重锁的写法:可见在懒汉式的注释下便是双重锁的写法,但是我们也看到了定义空对象时用到的volatile关键字。 2volatile关键字2)volatile关键字...
2021-08-10 18:32:58
487
原创 Java多线程中synchronized和Lock的区别
synchronized:Java提供的内置锁机制,Java中的每个对象都可以用作一个实现同步的锁(内置锁或者监视器Monitor),线程在进入同步代码块之前需要或者这把锁,在退出同步代码块会释放锁。而synchronized这种内置锁实际上是互斥的,即每把锁最多只能由一个线程持有。Lock接口:Lock接口提供了与synchronized相似的同步功能,和synchronized(隐式的获取和释放锁,主要体现在线程进入同步代码块之前需要获取锁退出同步代码块需要释放锁)不同的是,Lock在使用的时候是显示
2021-08-09 18:03:55
398
原创 Java多线程中继承Thread和实现Runable接口的区别?
继承Thread和实现Runable接口的区别?继承Thread类的子线程类,多个线程对象间是无法共享成员变量的!!!如果是静态成员,也是共享的!!!!实现Runable接口都子线程类,多个线程对象间是共享线程类的成员变量的!!!其实,抽象来说,这并不是Thread类和Runnable接口的区别了,这可以看做是接口和继承的问题。我们弄懂了接口和继承,就不难理解Thread和Runnable。在刚接触的时候可能会有些迷糊这二者的区别于联系,但是实践和总结过后我们会发现这是两个完全不同的实现多线程,一
2021-08-09 09:24:44
375
原创 Java中的线程安全问题
Java中有多线程编程,但多线程编程里会有线程安全问题,我们来简谈一下什么是线程安全问题。线程安全:在操作系统,因此线程之间是是共享同一个进程间的数据的,如果出现多线程,则有可能出现线程安全问题!!!!多线程的情况下(并发情况下):线程间共享数据,有可能现出安全问题。解决方案:加锁java提供两种加锁方案: jdk1.0提供了,是一个关键字 synchronized(同步) jdk5.0提供了,Lock接口同步锁:有三种写法1、放在方法上:整个方法都是同步如果某个方法中所有代码,都
2021-08-08 23:04:20
287
原创 Java--IO流部分内容
IO流部分的学习我认为是各类方法的集合使用,了解IO流并不难,就像之前学习Java内容里面的一些方法一样,只是他所对待的应用方向不同而已,下面我来轻谈IO流的部分知识及使用方法。接下来我会通过几个部分来介绍IO流中的一些方法的使用首先是IO流的入门知识,什么是IO流什么是IO流:IO Stream(input output Steam):输入输出流本质指的就是计算机中数据的流入和流出:从磁盘上将数据读入内存从内存中将数据写入到硬盘也就是说,从狭义上来说,我们一般IO流指的就是磁盘和内存
2021-08-05 20:09:17
163
原创 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
121
原创 常见面试题总结
1、ArrayList和Vector的区别?2、ArrayList、Vector和LinkedList的区别?1、ArrayList和Vector的区别?一、ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。
2021-07-30 20:45:52
130
原创 Java中常见的系统类
Java中的日期类设计的比较失败,刚开始使用Date来计算时间,后来大部分Date类的方法都过时了;想用Calendar类代替Date类,然而Calendar类也是不尽如人意。下面简单介绍下Java中的日期转换方法。这里讲到了两个类,一个是日期一个是格式化类,主要演示如何使用:日期日期相关的操作:Date类格式化时间日期的对象SimpleDateFormat在jdk8之后,系统不再推荐使用这些类如上的的日期和时间处理类都是非线程安全类,在早期没有高并发的情况可以正常使用。高并发的情况
2021-07-27 22:02:38
358
原创 Java常见的部分面试题及解析
这搜集的一些比较常见的面试题,这次罗列出来主要解析一下:|–final 在 java 中有什么作用?|–普通类和抽象类有哪些区别?|–抽象类能使用 final 修饰吗?|–接口和抽象类有什么区别?|–深拷贝和浅拷贝区别是什么?|–throw 和 throws 的区别?|–final、finally、finalize 有什么区别?|–try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?|–常见的异常类有哪些?1.final 在 jav
2021-07-26 21:34:30
141
原创 Java--面向对象学习第六天
面向对象的学习接近尾声了,今天学习的内容是面向对象接近结尾的部分,内容有:|–Object类的学习|–native关键字|–对象拷贝|–引用传递|–浅拷贝|–深拷贝Object类的学习在java,所有的类都是Object类子类,Object类是所有类的父类。类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。简单来说就是,Object类是所有类的父类,包括我们所写的类,我们在使用类的时候就会利用Object类中的方法万
2021-07-25 12:02:29
96
原创 Java--面向对象学习第四天
Java面向对象学习的第四天,今天学习的内容感觉抽象,不太容易理解,但是多加练习,这部分内容并不难今天学习的内容有:|–内部类|–多态|–抽象类|–匿名内部类|–接口|–接口的实现类|–接口的命名规范内部类内部类,顾名思义是类内部的类,但他是如何定义的呢:如何定义内部类内部类可以直接访问包裹着它的外部类任何属性和方法(包括私有的)一般而言,定义内部类,注意的目的,肯定是在包裹着它的外部类中使用它。他是存在于类的内部从而对类内部的各种属性和方法进行使用的内部类有点跟继承相似,
2021-07-22 10:47:30
111
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人