
随记
dadadadak
这个作者很懒,什么都没留下…
展开
-
在线课程项目(二)——讲师管理模块
讲师管理模块后端:创建数据库项目结构:创建父工程:pom类型,管理依赖版本和放公共依赖 (springboot工程)子模块:子模块下可再分子模块(maven工程)新建父工程在节点后面添加pom类型<artifactId>guli_parent</artifactId><packaging>pom</packaging>把父工程的dependencies全部去掉(在子工程中添加),只保留properties和dependency原创 2020-11-08 19:29:05 · 671 阅读 · 0 评论 -
在线课程项目(一)—— MybatisPlus入门
准备后端技术springbootspringcloudmybatisPlusspring securityredismaveneasy exceljwtoauth2前端技术vueelement-uiaxiosnode.js其他技术阿里云oss阿里云视频点播服务阿里云短信服务微信支付和dengludockergitJenkinsMybatisPlus创建数据库创建spring项目 spring initializr...原创 2020-11-07 15:49:45 · 284 阅读 · 0 评论 -
随记——netty入门(一)——20201012
Netty核心技术及源码剖析——尚硅谷文章目录前言Netty介绍Netty应用场景IO模型IO模型基本说明BIO NIO AIO适用场景BIO基本介绍BIO工作机制BIO应用实例(线程池)NIO基本介绍demoNIO群聊系统NIO与零拷贝AIO基本介绍Netty概述线程模型传统阻塞IO服务模型Reactor模式前言前置课程:JAVA OOP编程、多线程编程、IO编程、网络编程、常用设计模式书籍:《Netty IN ACTION》《Netty 权威指南》(基于Netty5)《Netty 进阶之路原创 2020-10-12 01:37:17 · 508 阅读 · 2 评论 -
jwt——json web token介绍
文章目录1. 什么是JWT2. jwt能做什么3. 为什么是JWT传统的基于session认证jwt认证流程jwt组成优缺点优点:缺点:demo整合spring boot封装工具类JWTUtils1. 什么是JWTjwt(json web token)是一种开放标准(rfc 7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全的传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名通俗来讲,j原创 2020-10-09 02:15:31 · 215 阅读 · 0 评论 -
Mybatis入门 (含过程debug)
前言连接数据库的工具:JDBC —> Dbutils(QueryRunner) —> JdbcTemplate连接数据库主要流程:编写sql预编译设置参数执行sql封装结果Hibernate:全自动ORM(Object Relation Mapping)框架:旨在消除sql,HQL缺点:长难复杂SQL,对Hibernate而言处理也不容易难以进行sql优化(sql由框架自动生成)全映射,无法选取部分字段(一些场景,mysql选取部分字段效率更优)mybatis原创 2020-10-05 20:16:49 · 701 阅读 · 2 评论 -
NIO与网络编程
文章目录简介缓冲区 Buffer常用API通道 Channel复制图片字符集Charset选择器 SelectorDatagramChannel管道Pipe设计实现:HTTP异步客户端(未完成)前面的记录:java基础——IO流——20200616简介Java NIO(New IO/ Non-Blocking IO)是从java1.4开始引入的一套新的IO API。可以替代标准的java IO API。 NIO与原本的IO有相同的作用和目的,但使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的原创 2020-10-03 02:17:34 · 117 阅读 · 0 评论 -
随记——java8新特性
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲) P666-665文章目录1. Lambda表达式lambda表达式的使用:6种语法格式总结2. 函数式接口如何理解函数式接口java内置四大核心函数式接口测试 `Consumer `:测试 `Predicate`:3. 方法引用与构造器引用方法引用的使用情况一 对象 :: 实例方法情况二 类 :: 静态方法情况三 类 :: 非静态方法构造器引用无参构造器含参构造器数组 String[]::new4. Stre原创 2020-06-23 01:13:22 · 426 阅读 · 0 评论 -
随记——java基础——反射——200622
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲) P636-642(*)表示仅需了解文章目录1. java反射机制概述* 动态语言 vs 静态语言java反射机制研究与应用反射相关的主要API反射测试1:构造对象,调用方法、属性(非私有)反射测试2:构造对象,调用方法、属性(私有)?什么时候用反射?反射与封装性2. 理解Class类并获取Class实例对Class类的理解3. 类的加载与ClassLoader的理解4. 创建运行时类的对象1. java反射机制原创 2020-06-22 01:38:06 · 301 阅读 · 0 评论 -
java基础——网络编程——20200616
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲) P620-635(*)表示仅需了解文章目录1. 网络编程概述2. 网络通信要素概述3. 通信要素1:IP和端口号IP地址实例化 InetAddress端口号4. 通信要素2:网络通信协议TCP/IP协议簇TCPUDP协议5. TCP网络编程例1:客户端发送数据给服务器端,服务器端接收例2:客户端发送文件给服务器端,服务器端保存例3:客户端发送文件给服务器端,服务器端保存,并返回“发送成功”给客户端,并关闭相应的连原创 2020-06-17 01:39:29 · 154 阅读 · 0 评论 -
java基础——IO流——20200616
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲) P577-576(*)表示仅需了解文章目录1. File类的使用File类的实例化*路径分隔符File类的常用方法2. IO流原理及流的分类流的分类3. 节点流(或文件流)FileReader类read()每次读一个字符read() 每次读多个字符FileWriter复制文件:字符流FileInputStream、FileOutputStream复制文件:字节流4. 缓冲流BufferedInputStream原创 2020-06-16 03:12:41 · 266 阅读 · 0 评论 -
java基础——泛型——20200614-20200615
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲) P565-576文章目录为什么要有泛型在集合中使用泛型自定义泛型结构泛型类泛型方法使用情景泛型在继承方面的体现通配符的使用 G<?>有限制条件的通配符为什么要有泛型jdk1.5 以后,开始使用泛型。改写了集合框架中的全部接口和类,为它们增加了泛型支持。为什么要有泛型?解决元素存储的安全性问题,好比商品、药品标签,不会弄错。当没有泛型时,任何类型都可以添加到集合中,类型不安全。解决获取数据元素原创 2020-06-15 02:17:31 · 191 阅读 · 0 评论 -
随记——java基础——集合——20200614
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲) P513文章目录1. JAVA集合框架概述2. Collection接口方法3. Iterator迭代器接口4. Collection子接口一:ListArrayList源码分析LinkedList源码分析List接口中常用方法5. Collection子接口二:Set*hashCode()的重写LinkedHashSetTreeSet6. Map接口HashMap底层实现jdk7jdk8HashMap底层源码分析原创 2020-06-14 23:06:44 · 313 阅读 · 0 评论 -
java基础——枚举类与注解——20200613
尚硅谷_Java零基础教程-java入门必备-初学者基从入门到精通全套完整版(宋红康主讲)P498文章目录枚举类自定义枚举类enum关键字定义枚举类Enum类中的常用方法注解Annotation概述注解示例三个基本注解的使用自定义注解JDK中的元注解通过反射获取注解JDK8中注解的新特性可重复注解类型注解枚举类类的对象只有有限个,确定的。星期、性别、状态当需要定义一组常量时,强烈建议使用枚举类。自定义枚举类声明Season对象的属性:private final修饰私有化类的构造器原创 2020-06-13 23:36:28 · 283 阅读 · 0 评论 -
随记——java基础的String类和日期Date、Calendar类
文章目录1. 字符串相关的类String概述不可变性String实例化的不同方式字符串拼接方式赋值的对比常用方法字符串和byte[]转化字符串存放位置StringBuffer、StringBuilder内存解析常用方法2. JDK8之前的日期时间API1. 获取系统当前时间2. java.util.Date 和java.sql.Date3. java.text.SimpleDateFormat4. Calendar类3. JDK8中新日期时间APILocalDate、LocalTime、LocalDateT原创 2020-06-12 19:42:54 · 329 阅读 · 0 评论 -
随记——多线程——基础篇
线程的创建比较创建线程的两种方式:继承Thread和实现Runnable开发中优先选择Runnable:实现的方式没有类的单继承的局限性实现的方式更适合来处理多个线程共享数据的情况。问题谈谈对程序、进程、线程的理解答 :程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期程序是静态的,进程是动态的。进程原创 2020-06-12 01:58:39 · 248 阅读 · 0 评论 -
spring4——IOC、Bean的配置——20200605-20200607
文章目录spring是什么spring的bean的配置IOC和DI基于XML的方式配置Bean内容提要在spring的IOC容器里配置beanspring容器ApplicationContext从IOC容器中获取Bean依赖注入的方式属性注入构造方法注入*字面值引用其它Bean注入参数详解:null值和级联属性集合属性使用utility scheme定义集合使用p命名空间xml配置里的bean自动装配继承bean配置依赖bean配置Bean的作用域使用外部属性文件Spring表达式语言:SpELSpEL:字原创 2020-06-07 03:24:02 · 243 阅读 · 0 评论 -
垃圾回收(三)---20200531-20200602---垃圾回收器
《尚硅谷JVM系列》(上篇)P134-P203垃圾回收:垃圾回收概述 P134-P137垃圾回收相关算法(标记算法、清除算法)P138-P153垃圾回收相关概念P154-P168垃圾回收器P169-P202垃圾回收垃圾回收器1. GC分类与性能指标垃圾回收器概述垃圾回收器评价GC的性能指标评价GC的性能指标:吞吐量(throughput)评价GC的性能指标:暂停时间(pause time)评价GC的性能指标:吞吐量vs暂停时间2. 不同的垃圾回收器概述垃圾收集器发展史(略)7款经典的垃圾收集器7原创 2020-06-02 00:14:37 · 259 阅读 · 0 评论 -
垃圾回收(二)---20200528-20200531---垃圾回收相关概念
《尚硅谷JVM系列》P134-P垃圾回收:垃圾回收概述 P134-P137垃圾回收相关算法(标记算法、清除算法)P138-P153垃圾回收相关概念P154-P垃圾回收器P垃圾回收垃圾回收相关概念1. System.gc()的理解2. 内存溢出与内存泄漏内存溢出(OOM)内存泄漏 ( Memory Leak )3. Stop The World4. 垃圾回收的并行与并发5. 安全点与安全区域6. 再谈引用强引用软引用弱引用虚引用终结器引用垃圾回收器垃圾回收相关概念1. System.gc()的原创 2020-06-01 17:38:52 · 191 阅读 · 0 评论 -
垃圾回收(一)---20200526-20200528
《尚硅谷JVM系列》P134-P垃圾回收:垃圾回收概述 P134-P137垃圾回收相关算法(标记算法、清除算法)P138-P垃圾回收相关概念垃圾回收器垃圾回收垃圾回收概述1. 什么是垃圾2. 为什么需要GC3. 早期垃圾回收4. Java垃圾回收机制垃圾回收相关算法1. 标记阶段:引用计数算法2. 标记阶段:可达性分析算法GC Roots3. 对象的finalization机制4. MAT与JProfiler的GC Roots溯源5. 清除阶段:标记-清除算法6. 清除阶段:复制算法7. 清除阶原创 2020-05-28 22:28:01 · 176 阅读 · 0 评论 -
StringTable---20200525
《尚硅谷JVM系列》P118-P133StringTable目录1. String的基本特性2. String的内存分配3. String的基本操作4. 字符串拼接操作5. intern()的使用源码面试题intern()效率6. StringTable的垃圾回收7. G1中的String去重操作1. String的基本特性字符串,用""来表示String s1 = “abc”;String s1 = new String(“abc”);声明为final,不可被继承;实现了Seriali原创 2020-05-25 20:23:40 · 173 阅读 · 0 评论 -
执行引擎--20200525
执行引擎执行引擎概述Java代码编译和执行过程机器码、指令、汇编语言解释器JIT编译器原创 2020-05-25 01:04:51 · 176 阅读 · 0 评论 -
20200519---直接内存
直接内存目录直接内存直接内存概述直接内存概述不是虚拟机运行时数据区的一部分,也不是《java虚拟机规范》中定义的内存区域。是在java堆外,直接向系统申请的内存空间。来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存通常,访问直接内存的速度会优于java堆,即读写性能高。因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存Java的NIO库允许java程序使用直接内存,用于数据缓冲区。IONIO(New IO / Non-Blocking原创 2020-05-19 16:55:32 · 170 阅读 · 0 评论 -
随记---20200519---对象的实例化内存布局与访问定位
对象的实例化内存布局与访问定位目录对象的实例化内存布局与访问定位相关面试题:1. 对象的实例化创建对象的方式创建对象的步骤2. 对象的内存布局对象头(Header)实例数据(Instance Data)对齐填充小结3. 对象的访问定位相关面试题:对象在JVM中是怎么存储的?对象头信息里有哪些内容?1. 对象的实例化创建对象的方式new最常见的方式变形1:Xxx的静态方法变形2:XxxBuilder/XxxFactory的静态方法Class的newInstance():反射的原创 2020-05-19 15:46:33 · 254 阅读 · 0 评论 -
随记--方法区--20200518
方法区目录方法区1. 栈、堆、方法区的交互关系2. 方法区的理解Hotspot中的方法区的演进3. 设置方法区的大小与OOM如何解决这些OOM?4. 方法区的内部结构方法区存储什么?类型信息域(Field)信息方法信息代码举例常量池运行时常量池5. 方法区使用举例6. 方法区的演进细节永久代为什么要被元空间替代?StringTable为什么要调整?静态变量放在哪里?7. 方法区的垃圾收集1. 栈、堆、方法区的交互关系内存区域线程共享线程私有堆元空间本地方法栈虚拟机栈程序计数器StackOverflow原创 2020-05-19 02:00:18 · 171 阅读 · 0 评论 -
随记----逃逸分析:代码优化---20200518
使用逃逸分析,编译器可对代码做如下优化:栈上分配:将堆分配转化为栈分配,如果一个对象在子程序中被分配,要使指向该对象的指针永远不会逃逸,对象可能是栈分配的候选,而不是堆分配。同步省略。如果一个对象被发现只能从一个线程被访问到,那么对于这个对象的操作可以不考虑同步。分配对象或标量替换:有的对象可能不需要作为一个连续的内存结构存在也可以被访问到,那么对象的部分或全部可以不存储在内存,而是存储在CPU寄存器中。目录栈上分配同步省略分配对象或标量替换栈上分配-XX:-DoEscapeAnalysis原创 2020-05-18 16:38:58 · 203 阅读 · 0 评论 -
随笔---20200516~20200517---堆
堆目录堆1. 堆的核心概述内存细分2. 设置堆内存大小与OOM3. 年轻代与老年代4. 图解对象分配过程5. Minor GC,Major GC,Full GCMinor GC触发机制:老年GC(Major GC/Full GC)触发机制:Full GC触发机制:6. 堆空间分代思想7. 内存分配策略(或对象提升(promotion)规则)8. 为对象分配内存:TLAB9. 小结堆空间的参数设置10. 堆是分配对象的唯一选择吗?1. 堆的核心概述1个进程对应1个JVM实例1个进程有多个线程、多个原创 2020-05-18 01:40:12 · 171 阅读 · 0 评论 -
随记---20200515
栈帧:局部变量表、操作数栈、帧数据区(方法返回地址、动态链接、一些附加信息)方法返回地址存放该方法的PC寄存器的值一个方法的结束,有两种方式:正常执行完成出现未处理的异常,非正常退出在方法推出后都返回到该方法被调用的位置。正常退出时,调用者的pc计数器的值作为返回地址,即调用该方法的指令的下一条指令的地址。而通过异常退出的,返回地址要通过异常表来确定,栈帧中一般不会保存这部分信息。方法返回的字节码指令ireturn (当返回值是Boolean、byte、char、short和int类型原创 2020-05-16 11:13:02 · 169 阅读 · 0 评论 -
随记---方法的调用--- 20200514-20200515
8.方法的调用目录8.方法的调用静态链接与动态链接静态链接:动态链接:虚拟机中方法调用指令动态语言与静态语言方法重写的本质静态链接与动态链接静态链接:当一个字节码文件被装载进JVM内部时,如果被调用的目标方法在编译期可知,且运行期内保持不变时。这种情况下将调用方法的符号引用转换为直接引用的过程成为静态链接。动态链接:如果被调用的方法在编译期无法被确定下来,也就是说,只能够在程序运行期将调用方法的符号引用转换为直接引用,由于这种引用转换过程具备动态性,也就称为动态链接对应的方法绑定机制为:早期绑原创 2020-05-15 23:33:52 · 137 阅读 · 0 评论 -
随笔200513
局部变量表double和long占据两个slotthis在构造方法和 实例方法的局部变量表占据index = 0的slot.大括号里的变量使用完就可以销毁,让出slot位置变量,按照在类中声明的位置分成员变量:在使用前都经历过默认初始化赋值类变量:linking的prepare阶段:给类变量默认赋值 —> initial阶段:给类变量显式赋值即静态代码块赋值实例变量:随着对象的创建,会在堆空间中分配实例变量空间,并进行默认赋值局部变量:在使用前必须进行显式赋值, 否则编译原创 2020-05-14 21:05:10 · 98 阅读 · 0 评论