Java
文章平均质量分 79
java基础笔记
starryskyhk
未来可期
展开
-
设计模式(一)——单例模式
单例模式概念所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。饿汉式(静态常量)步骤如下:构造器私有化 (防止 new )类的内部创建对象向外暴露一个静态的公共方法。getInstance代码实现//饿汉式(静态变量)class Singleton { //1. 构造器私有化, 外部能new private Singleton() { } //2.本原创 2021-01-25 21:36:48 · 99 阅读 · 0 评论 -
还看不懂UML类图的,那就看看这一篇,简单易懂
UML类图依赖只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了符号:虚线普通箭头public class PersonServiceBean { private PersonDao personDao;//类 public void save(Person person){} public IDCard getIDCard(Integer personid){} public void modify(){ D原创 2021-01-24 20:48:53 · 104 阅读 · 0 评论 -
IDEA中新建的MAVEN项目,yml文件不显示绿叶子,MVANE项目管理显示灰色
有时候新建的Maven项目会出现这样的问题很多小伙伴不知道怎么去解决,其实是因为Maven忽略了这个工程。解决方法如下:如果目录还是没有好的话,可以手动一下至此,问题解决完成原创 2020-12-23 09:12:20 · 1031 阅读 · 0 评论 -
Java的时间处理(jdk8之前以及之后)
Java8之前Date初始化方式一:使用当前时间//构造器一:创建当前时间的对象Date date1 = new Date(); //显示当前的年月日,时分秒System.out.println(date1.toString()); //Mon Dec 21 15:52:03 CST 2020//返回时间戳,1970年1月1日到现在的毫秒数System.out.println(date1.getTime()); //1608537123085方式二:指定时间//构造器二:指定原创 2020-12-21 21:48:54 · 559 阅读 · 0 评论 -
Java10&Java11新特性——代码示例
Java102018年3月发布,Java9和Java10都不是长期支持的版本。JAVA11是长期支持的版本。JDK10一共定义了109个新特性,其中包含12个JEP(对于程序员来讲,真 正的新特性其实就一个),还有一些新API和JVM规范以及JAVA语言规范上 的改动。JEP是指(JDK Enhancement Proposal特性加强提议)局部变量类型推断产生背景开发者经常抱怨Java中引用代码的难度,局部变量的显示类型声明,常常被认为是不必须的。好处减少了啰嗦和形式的代码,避免了信息原创 2020-12-19 20:18:28 · 424 阅读 · 1 评论 -
Jdk9的新特性——代码示例
Java9新特性红色:重要改变绿色:语法改变黄色:API改变模块化系统jShell命令多版本兼容jar包接口的私有方法钻石操作符的使用升级语法改进:try语句String存储结构变更便利的集合特性:of()增强的StreamAPI全新的HTTP客户端APIDeprecated的相关APIjavadoc的HTML5支持javaScript引擎升级:Nashormjava的动态编译器目录结构改变java9之前原创 2020-12-18 16:52:09 · 293 阅读 · 2 评论 -
Java1.8新特性——代码示例
Java新特性Java8新特性简介速度更快代码更少强大的Stream API便于并行最大化减少空指针异常Nashorn引擎,Lambda表达式Lambda本质:作为函数式接口的实例使用箭头函数public void test1(){ Runnable r1 = new Runnable() { @Override public void run() { System.out.println("dddd");原创 2020-12-17 21:20:08 · 251 阅读 · 0 评论 -
Java网络编程
网络编程网络编程概述一:网络编程中有两个主要的问题,1.如何准确的定位网络上一台或多台主机,定位主机上特定的应用2.找到主机后如何进行高效的数据传输二:网路编程中的两个要素对应问题一:IP和端口号对应问题二:提供网络通信协议,TCP/IP参考模型三:通信要素——IP和端口号1:Java中,使用InetAddress类代表IPIP与端口IP使用InetAddress类代表IPpublic static void main(String[] args) throws Unk原创 2020-12-17 21:11:21 · 1138 阅读 · 3 评论 -
IO流代码演练(非纯概念)
IO流File类概述绝对路径:文件真正存在的路径,例如D:/wamp/www/img/icon.jp相对路径:自己相对与目标的位置,例如…/icov.jpg, ./表示当前目录,…/表示上一级目录,/表示当前根目录File类只设置文件或目录的创建,删除,修改时间,文件大小,重命名等方法,不涉及写入或读取文件内容的操作,如需读取文件内容或者写入,则必须通过IO流去实现//相关获取方法File file = new File("ceshi.txt");File file2 = new File("原创 2020-12-16 16:36:43 · 136 阅读 · 0 评论 -
Java后端面试知识点思维导图
不是很多,之后会继续更新的,把我能想到的先写上了,还是有些作用的百度云资源(尚硅谷的资源):链接:https://pan.baidu.com/s/1hWI8XJjt7yXuEk0YVOG_qw提取码:fhps复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享B站资源:1:狂神说2:尚硅谷面试资源:https://blog.csdn.net/ThinkWon/article/details/104778621(这个包括了很多很多,把里面的知识点都弄会,面试就成原创 2020-10-19 23:24:32 · 984 阅读 · 0 评论 -
ArrayList底层实现
ArrayList底层原理概述ArrayList是基于数组实现的,是一个动态数组,其容量能自动增加。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List L)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAcc原创 2020-10-17 22:44:15 · 717 阅读 · 0 评论 -
AQS底层原理实现
AQS底层原理概念AQS是一个同步队列,全名为AbstractQueuedSynchronizer,它是一个同步工具,是Lock用来实现线程同步的核心组件。AQS的功能分为两种:独占和共享独占锁:每次只能有一个线程获取锁,比如ReentrantLock是以独占的方式实现互斥共享锁:允许多个线程同时获取锁,并发的访问共享资源,比如ReentrantReadWriteLock内部实现AQS队列内部维护的是一个FIFO的双向链表。每个Node由线程封装,当线程争抢锁失败后会封装成Node加入AQS原创 2020-10-16 23:56:29 · 1401 阅读 · 0 评论 -
JVM(一):还不懂JVM的内存结构?那就看看这一篇
JVM(一):内存区域与内存溢出异常最近买了《深入理解Java虚拟机这本书》,将自己的学习记录一下概述jvm的优点1:虚拟机自动内存管理机制,不需要为每一个new去写配对的delete/free代码(也就是说不容易出现内存溢出的情况)2:程序员将内存管理的权利交给了java虚拟机,方便开发JVM运行时的数据区域私有(线程独享):程序计数器、java虚拟机栈、本地方法栈公有:方法区、堆程序计数器作用:程序计数器是一块很小的内存空间,可以看作是当前线程所执行的字节码的行号指示器简单来说,原创 2020-09-06 00:06:26 · 167 阅读 · 0 评论 -
jdk1.8中文文档免费提取
谷歌版本的jdk链接:https://pan.baidu.com/s/1q3Oen5P3s-8JfCuAJcaGXQ提取码:qufb原创 2020-07-22 22:50:25 · 224 阅读 · 0 评论 -
IDEA中明明从指定maven仓库中引入了jar包,但运行时却到C盘去找了
昨天重新买了个电脑,重新装好IDEA,导入之前的配置,重新设置好maven后,满心欢喜的开始写代码,然而,当我使用Junti4测试时,界面是这样的。仿佛一切都没有问题,没有报错,在External Libraries中也有需要的两个依赖,但是跑一把,提示junit包找不到???第一反应是maven配置出问题了,赶紧去maven配置看一下发现红框之内的忘记修改了,是之前旧电脑中maven所在的位置,自信的改好,再跑一把,?????????又错了于是又跑回去再检查一遍,没有问题,再去maven的原创 2020-06-17 08:41:05 · 2040 阅读 · 0 评论 -
java设计模式——设计原则
设计原则单一职责原则概述对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2单一职责原则注意事项和细节降低类的复杂度,一个类只负责一项职责。提高类的可读性,可维护性降低变更引起的风险通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则接口隔离原则概述客户端不原创 2020-06-03 09:40:47 · 149 阅读 · 0 评论 -
Java枚举类与注解
枚举类与注解枚举类类的对象是有限个的,确定的可使用枚举例如星期、性别、季节、支付方式等当需要定义一组常量时,强烈建议使用枚举类阿里云代码规范中不允许出现魔法值哦,如下//魔法值if("男".equal(sex)){ //此时这里的男为魔法值,因为未进行定义 return "这是个男生"}解决方法//解决方法final String MAN = "男"if(MAN.equal(sex)){ //但是如果有很多个常量 return "这是个男生"} 但是这样的确符原创 2020-05-28 18:23:46 · 463 阅读 · 0 评论 -
你还不会使用反射吗?——Java反射机制
Java反射机制点击下载文档资料概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部消息,并能直接操作任意对象的内部属性及方法加载完类后,在堆内存的方法区会产生一个Class对象(一个类只有一个),这个对象包含了类的完整结构信息正常方式:引入需要的’包类’名称 ->通过new实例化 -> 取得实例化对象反射方式:实例化对象 -> getClass()方法 -> 得到完整的’包类’名称Ja原创 2020-05-27 01:53:29 · 220 阅读 · 0 评论