![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
别清兵你会死
这是我的回合,抽卡!
展开
-
JVM小结【持续更新】
// 回过头学习了JVM,进行一次总结JVM的结构原创 2020-06-21 16:15:52 · 268 阅读 · 0 评论 -
NIO聊天室
服务端package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;public class ChatroomServer { private Selector selector; private ServerSocketChan原创 2020-12-20 22:54:33 · 117 阅读 · 0 评论 -
JDK13新特性学习(二)
支持Unicode 11JDK12比JDK11的Unicode多增加了684个新字符,包括:66个表情符号Copyleft符号中国象棋符号压缩数字格式化var cnf = NumberFormat.getCompactNumberInstance(Locale.CHINA, NumberFormat.Style.SHORT);System.out.println(cnf.format(1_0000));System.out.println(cnf.format(1_000_000));原创 2020-12-14 20:09:48 · 151 阅读 · 1 评论 -
JDK13新特性学习(一)
switch表达式传统switch语句弊端:匹配自上而下执行,忘记写break,后面的case无论是否匹配都会执行所有的case公用一个块范围,不同case语句中的变量不能重名不能在一个case中写多个执行结果一致的条件(case A, B, C: xxx; )整个switch不能作为表达式的返回值Fruit fruit = Fruit.APPLE;int num = switch(fruit) { case PEAR -> { System.out.println(1);原创 2020-12-13 22:14:38 · 182 阅读 · 0 评论 -
桥接模式学习
桥接模式介绍桥接模式和多继承的思路是一致的,都是想构造出有多性质的对象但多继承方案违背了单一职责原则,桥接模式减少了子类的个数,用组合的方式取代多继承方案中的继承的方式比如:我想要将小米笔记本写成对象:定义电脑类电脑类包含brand和type两个属性...原创 2020-11-08 20:51:29 · 146 阅读 · 0 评论 -
工厂模式+建造者模式(用例说明)(二)
// 接上一篇建造者模式基于上一篇的图继续~思路就是:消费者自己new出一个房子显然不现实,所以消费者请了worker帮忙造房子(house上加了一层worker)消费者管理worker的实现步骤显然太麻烦,所以消费者请了director帮忙看着worker(worker上加了一层director)这样消费者只用挑选合适的director和worker,house就创建出来了下面看代码:先写好写的House和BuilderMappublic class House { //原创 2020-11-06 22:45:06 · 277 阅读 · 0 评论 -
工厂模式+建造者模式(用例说明)(一)
// 感觉这两种模式没啥好讲的~直接上代码进行理解// 用造房子的例子将两种设计模式完美结合~// 全程大白话~工厂模式当你要造屋顶的时候,我们一般不会这样写:Roof roof = new Roof();因为屋顶对象的参数太多了,直接new出来非常不方便,而且当我们需要不同材质的屋顶的时候类就非常多,很难管理于是很自然的,定义一个Roof的接口,不同材质的屋顶实现这个接口:public interface Roof { void buildRoof(); String g原创 2020-11-06 22:13:09 · 754 阅读 · 0 评论 -
单例模式学习
// 从今往后的两个月我会将设计模式学习资料整理成一个系列供我自己和大家参考单例模式思想某个类中只能存在一个对象实例,且该类只能提供一个取得该对象实例的方法饿汉式1. 静态常量class Single { private Single() {} private final static Single instance = new Single(); public static Single getInstance() { return instance; }}优点:写法简单,在类原创 2020-11-03 16:41:06 · 105 阅读 · 1 评论 -
JDK11新特性学习(二)
// JDK9 --> JDK11异步HTTP客户端JDK9开始引入,JDK11中正式可用。HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder(URI.create("www.baidu.com")).build();BodyHandler<String> ResponseBodyHandler = BodyHandlers.ofString();原创 2020-10-31 16:14:09 · 440 阅读 · 1 评论 -
JDK11新特性学习(一)
// JDK9 --> JDK11(LTS)局部变量类型推断JDK7开始支持的类型推断:(由左边推到右边)List<String> list = new ArrayList<>();JDK11的类型推断:(由右边推到左边)var a = "abc";// 等价于String a = "abc";var不是一个关键字,所以无法写 var n; ,类的属性无法使用var。设置的目的在于减少代码量,节约了编码时间,属于语法改进。 idea代码重构表示不服~原创 2020-10-30 23:57:09 · 2121 阅读 · 0 评论 -
jdk9新特性学习(二)
// JDK8 --> JDK9try语句的升级// 不用显式关闭流try(InputStreamReader reader = new InputReader(System.in)) { reader.read();}catch(IOException e) { e.printStackTrace();}下划线使用限制JDK9中 _ 变为关键字,不能使用下划线作为标识符String存储结构改变JDK9之前,字符串使用char数组存放。JDK9之后使用byte数组 + enco原创 2020-10-26 09:51:48 · 165 阅读 · 0 评论 -
jdk9新特性学习(一)
// jdk8 --> jdk9目录结构的变化jdk9中不再有jre文件夹,而是将jre中的文件放至根目录中模块化系统jdk8中JVM在运行时必须要加载rt.jar文件,使得java运行环境臃肿。模块化根据不同模块加载程序运行需要的class,本质上是在package外再加一层module,通过模块管理包,使得:代码组织更安全:不同module之间无法直接访问,但可以通过导入新建module-info.java暴露出目标包// java9demo1包对外暴露module java9原创 2020-10-25 17:59:59 · 262 阅读 · 1 评论 -
idea插件吐血大推荐~
// 下面将推荐给大家我在日常中使用的插件,应该是新手向~idea插件的安装方式在settings中选择plugins,在marketplace进行下载当然这个市场日常进不去。。可以有两种解决方法:1、翻墙 2、提前下载好然后导入idea中阿里云工具不仅可以用来连接阿里云,其他云也可以使用此工具。优点:不用来回切换控制台,全在idea中进行~设置背景图可以在idea中自定义背景图以及透明度优点:解决枯燥编码难题,一换就是一整天~统计代码量可以帮助统计整个项目的代码量优点:分原创 2020-07-19 18:46:58 · 219 阅读 · 0 评论 -
多线程之虚假唤醒
class Data { private int number = 0; public synchronized void inc() throws InterruptedException { if(number!=0) { this.wait(); } number++; System.out.println(Thread.currentThread().getName()+"=>"+numbe原创 2020-06-17 19:17:25 · 265 阅读 · 0 评论 -
后端(java)从入门到进阶路线整理【B站版】【持续更新中】
// 我的上一篇文章前端从入门到进阶路线整理【B站版】访问量比其他博客大(果然比起看文章其实视频更轻松呢~)。。。因此整理了对应的后端进阶路径,供大家参考。说明:其实后端有很多语言框架可以选择,比如java、php、node.js、C#、typescript…我这里只放java的参考路径。基础能力必须要掌握的知识java语言:https://www.bilibili.com/video/...原创 2020-02-29 12:50:47 · 766 阅读 · 0 评论 -
webservice学习 [持续更新]
//据说不会webservice的程序员,不是一个好的程序员~WebService官方定义Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。表面上看WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的方法API,能用编程的方法通过Web调用来实现某个功能的应用程序。深层次上看WebService是一种新的...原创 2019-11-20 22:16:01 · 117 阅读 · 0 评论 -
springboot 定时任务schedule
//springboot定时任务定时任务schedule介绍每隔一段时间进行操作常见的定时任务java自带的java.util.Timer(配置复杂,存在时间延后问题,不推荐使用)quartz框架springboot注解:1、schedule所在方法加@Scheduled 2、schedule所在类加@Component注解 3、启动类加@EnableScheduling...原创 2019-10-13 21:04:53 · 120 阅读 · 0 评论 -
mybatis逆向工程
mybatis逆向工程介绍优点:mybatis需要程序员自己编写sql语句,并且mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo、sql…),可以让程序员将更多的精力放在繁杂的业务逻辑上。常用的逆向工程方式:由数据库的表生成java代码。缺点:Mybatis逆向工程生成的Mapper所进行的操作都是针对单...原创 2019-10-13 12:08:02 · 844 阅读 · 0 评论 -
springboot2.x集成mybatis3.x
mybatis介绍jdbc较为繁琐,所以引用mybatis进行数据库整合。mybatis不提供对象和关系模型的直接映射,半ORM(ORM: object relational mapping对象关系映射)。集成mybatis引入依赖<!-- starter --><dependency> <groupId>org.mybatis.spring....原创 2019-10-13 11:21:15 · 281 阅读 · 0 评论 -
springboot 拦截器和过滤器学习
//springboot2.x的自定义拦截器拦截器定义在interceptor包下。定义一个WebConfig类,用于添加具体的自定义拦截器:@Configurationpublic class WebConfig implements WebMvcConfigurer { @Autowired private SessionInterceptor sessionInt...原创 2019-10-12 21:40:02 · 203 阅读 · 0 评论 -
三次握手的解读+oauth授权解读
//c/s中常见的三次握手的总结图例解读这三次握手就是上图的三个箭头。在这三次握手后,双方都确认了两个信息:1、确认,自己可以接收到对方的信息2、确认,对方收到了自己的信息而一旦这两个信息都得到了双方的确认,联系也就建立起来了,准备工作完成。之后便开始传输数据。网上还有一个有趣的解读:约吗?约!好的,我出发了。oauth授权github的oauth授权登录...原创 2019-10-04 20:33:47 · 218 阅读 · 0 评论 -
java8 lambda学习 较详细
//这是一篇从入门到进阶的lambda表达式的学习,罗列知识点较为齐全,适合作为参考1、基础语法(参数列表、方法体) // () -> {} // 我这里先定义了如下四个接口,他们的参数和返回值不同,用来说明lambda具体使用时的区别 LambdaNoneReturnMutipleParameter lambda2 = (int a,int b)...原创 2019-08-07 10:04:09 · 625 阅读 · 0 评论 -
java jsp基础学习
//此文档适合jsp初学者,是一个对基本知识的总结整理jsp基础学习jsp九大内置对象(常用前5个,前2个可以获取所有其他对象)名称类型含义获取方式requestHttpServletRequest封装所有请求信息方法参数responseHttpServletResponse封装所有响应信息方法参数sessionHttpSession封装...原创 2019-08-04 18:05:25 · 171 阅读 · 0 评论 -
SpringBoot初步入门的一些心得
//最近在学习SpringMVC框架(入门级别),本人发表了自己的一些看法,适合初学者借鉴并理解。若有不正确的地方希望大家多多指正。对于包的分类首先关于包的分类,我认为是理解结构的基基。在我最近的一次社区代码实战中,我认为这些包的出现是必要的。controller:是控制网页界面的先行者,所有URL都由这个包得到映射并进入后端dto:存储前端的数据模型exception:异常处理包...原创 2019-07-30 18:24:31 · 182 阅读 · 0 评论 -
常用的idea快捷键
idea快捷键alt+enter:万能的修补键ctrl+F12:快速查询所有继承,查询类中所有方法Ctrl+shift+v:抽出实例shift+shift:快捷查询文件shift+F6:重命名Ctrl+alt+l:自动格式化ctrl+shift+↑:当前语句上移shift+enter:不破坏代码的换行ctrl+alt+←:回退至上一次的页面...原创 2019-07-30 17:45:06 · 106 阅读 · 0 评论