自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 JVM系列之1:内存与垃圾回收篇

目录:JVM系列之1:内存与垃圾回收篇1.01 JVM与Java体系结构1.02 类加载子系统1.03 运行时数据区概述及线程1.04 程序计数器(PC寄存器)1.05 虚拟机栈1.06 本地方法接口1.07 本地方法栈1.08 堆空间1.09 方法区1.10 对象实例化内存布局与访问定位1.11 直接内存1.12 执行引擎1.13 StringTableJVM系列之2:字节码与类的加载篇JVM系列之3:性能监控与调优篇JVM系列之4:大厂面试篇...

2020-08-28 18:32:47 108

原创 Java基础总结目录

目录Java集合框架概述Java集合框架概述-图片版包、jar存档文件和部署接口与内部类远程部署的RMI集合和泛型IO流总结—节点流、缓冲流、转换流、标准输入输出流、打印流、数据流java网络编程反射Java 8 新特性以上比较总结源于:《Head First Java》...

2020-08-28 18:30:17 57

原创 第一个mybatis程序--狂神说笔记(亲测成功)

我的第一个mybatis程序0、前言1、数据库2、IDEA项目2.1、新建项目2.2 配置依赖2.3 新建文件2.4 运行UserDaoTest0、前言先贴一份狂神说网站的学习笔记:Mybatis学习笔记本文纯属记录成功案例,而不记录教学过程本文与视频笔记有点不同本文仅为学习笔记,如侵则删1、数据库创建数据库mybatis,表为userCREATE DATABASE `mybatis`;USE `mybatis`CREATE TABLE `user`( `id` INT(20) N

2021-09-05 18:01:18 285

原创 lambda表达式的推导

0、写在前面学习多线程过程中解除到lambda表达式,现在总结一下。1、 lambda表达式为什么使用lambda表达式避免匿名内部类定义过多可以简洁代码去掉没意义的代码,留下核心的逻辑其实属于函数式编程的概念函数式接口:任何接口,如果只包含一个抽象方法,那么它就是一个函数式接口直接上代码,感受各种类package com.laoongcai.gitxuexi.lambda;/** * @Author: chen * @Description: 推导lambda表达式

2020-11-03 17:36:12 242

原创 Myspringboot:Mybatis整合(非逆向工程)

0、写在前面此文为记录非逆向工程,导入数据库SQLyog新建数据库IDEA新建project配置POM.xml配置application.properties连接数据库pojo层mapper层resource.mybatis.mapper:xmlcontroller层启动测试1、SQLyog新建数据库2、IDEA新建project选web和SQL目录如下:3、配置POM.xml复制新增部分即可全部代码如下:<?xml version="1.0"

2020-10-02 18:00:03 142

原创 Mybatis逆向工程创建使用

0、写在前面逆向工程简单理解为:由数据库生成代码。但只能生成单表的代码。步骤如下:创建数据库,创建表新建springboot的project配置POM.xml文件配置GeneratorMapper.xml文件由数据库生成代码1、创建数据库,创建表我使用的是SQLyog,比较简单,贴图:我新建的数据库为“mybatis”,使用的表为“user_table”。注意单词拼接一定要使用下划线,小写即可。2、新建springboot的projectNew->project->s

2020-09-30 11:29:18 118

原创 IDEA连接MySQL数据库

MySQL数据库IDEA 方面jar下载下载https://dev.mysql.com/downloads/connector/j/导入jar包解压之后再导入加载完成,查看在2中添加所需的表代码测试package com.mysqlTest.chen;import java.sql.*;public class JdbcFirstDemo { public static void main(String[] args) throws ClassNotFoundE

2020-09-22 15:10:08 378

原创 动态规划总结

例子参考链接: link.问题:如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元?package com.szu.DP;/** * @author chen * @create 2020-08-16 22:07 *//* 硬币面值:1,3,5 凑i元需要至少硬币数dp[i]*/public class coinCountTest { public static void main(String[] args) { // 面值 int[]

2020-09-22 14:41:57 68

原创 MySQL创建自定义函数

记录狂神说MySQL的P31狂神说MySQL的P31插入百万条数据-- 插入百万条数据DELIMITER $$-- drop function if exists mock_data-- set global log_bin_trust_function_creators=TRUE;CREATE FUNCTION mock_data()RETURNS INTDETERMINISTICBEGIN DECLARE num INT DEFAULT 1000000; DECLARE i IN

2020-09-11 23:41:30 146

转载 二叉树层序遍历

套模板!BFS 和 DFS 都可以解决迭代+递归 多图演示 102.二叉树的层次遍历迭代import java.util.*; class Solution { public List<List<Integer>> levelOrder(TreeNode root) { if(root==null) { return new ArrayList<List<Integer>>(); } List<List<Inte.

2020-08-31 12:15:43 98

转载 二叉树遍历

二叉树的前序中序后序前序:中,左,右中序:左(大小树都是找最左),中,右后序:左,中,右遍历二叉树的三种方法史上最全遍历二叉树详解详细通俗的思路分析,多解法递归解法前序遍历public static void preOrderRecur(TreeNode head) { if (head == null) { return; } // 调用一次postOrderRecur,就代表调用了一棵树 System.out.print(head.v

2020-08-31 09:50:44 63

原创 1.12 执行引擎

1、执行引擎2、Java代码编译和执行过程3、机器码、指令、汇编语言4、解释器5、JIT编译器

2020-08-25 14:51:38 90

原创 1.11 直接内存

直接内存

2020-08-24 15:49:30 63

原创 1.10 对象实例化内存布局与访问定位

1、对象的实例化从字节码角度看待对象的创建过程Java对象分配流程:2、对象的内存布局3、对象的访问定位

2020-08-24 15:49:19 74

原创 1.09 方法区

1、栈、堆、方法区的交互关系2、方法区的理解2.5.4. Method Area3、设置方法区大小与OOM4、方法区的内部结构5、方法区的使用举例方法区的使用:invokevirtual :虚方法调用6、方法区的演进细节永久代被替换的原因:1、为永久代设置空间大小是很难确定的2、对永久代进行调优是很困难的(full GC 花费很多时间)full GC 很花时间jdk7时:

2020-08-24 11:02:44 108

原创 1.08堆空间

复习1、堆的核心概述2、设置堆内存大小与OOM3、年轻代与老年代4、图解对象分配过程对象分配的特殊情况:工具:JProfiler破解版下载安装,按链接提示操作即可JProfiler115、Minor GC、Major GC、Full GCMinor GC即是Young GC(TGC)判断存活对象的存放位置,s1和s2轮流存放,每次的阈值为156、堆空间分代思想7、内存分配策略8、为对象分配内存:

2020-08-23 14:43:27 113

原创 1.07 本地方法栈

2020-08-19 16:37:35 55

原创 1.06 本地方法接口

本地方法接口:Native Method Interface(JNI)

2020-08-19 16:07:46 80

原创 1.05 虚拟机栈

1、虚拟机栈概述设置虚拟机栈大小:2、栈的存储单位3、局部变量表字节码中方法内部结构的剖析this 不能用于静态方法,因为this变量不存在于当前方法的局部变量表中!!4、操作数栈操作数栈:Operand stack栈:可使用数组或链表来实现5、代码追踪“iinc”操作码是直接把局部变量数组的“3”处的值增加1,而不是操作数栈栈顶的数增加1。“istore 4”是把栈顶的数存在局部变量表“4”中。6

2020-08-19 15:37:40 70

原创 1.04 程序计数器(PC寄存器)

PC Register介绍举例说明两个常见问题

2020-08-17 20:39:40 127

原创 1.03 运行时数据区概述及线程

从1.03到1.10都是运行时数据区内容概述线程

2020-08-17 11:43:50 89 1

原创 1.02 类加载子系统

1、内存结构概述2、类加载器与类的加载过程3、类加载器分类4、ClassLoader的使用说明5、双亲委派机制6、其他

2020-08-17 10:48:31 195

原创 1.01 JVM与Java体系结构

1、前言2、参考书目3、Java及JVM简介JVM拥有语言无关性,只关心“字节码”文件。统称为:jvm字节码4、Java发展的重大事件5、虚拟机与Java虚拟机6、JVM的整体结构7、Java代码执行流程8、JVM的架构模型字节码反编译操作package com.szu.chen;/** * @author chen * @create 2020-08-16 9:02 */// 字节码反编译操作:JVMDemo\out\productio

2020-08-16 12:05:52 70

原创 JVM系列之4:大厂面试篇

mark

2020-08-15 14:15:51 195

原创 JVM系列之3:性能监控与调优篇

mark

2020-08-15 14:15:15 243

原创 多线程

1、基本概念:程序、进程、线程程序、进程、线程程序:一段静态代码的。进程:一个正在运行的程序。是一个动态的过程:有自身的产生、存在和消亡的过程。进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。线程:进程细分为线程,是一个程序内部的一条执行路径。线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(PC),线程切换的开销小。单核CPU、多核CPU单核CPU:假多线程,因为在一个时间单元内,只能执行一个线程的任务。多核CPU:真多线程,同时进行。一个jav

2020-08-15 10:39:11 156

原创 Java 8 新特性

LambdaLambda 表达式的使用举例package java8.Lambda;import org.junit.Test;import java.util.Comparator;import java.util.function.Consumer;/** @author Chen *//* 1.举例:(o1,o2)-> Integer.compare(o1,o2); 2.格式: -> :Lambda操作符 或 箭头操作符

2020-08-12 09:13:51 107 2

原创 反射

Class类反射的使用package com.ReflectionTest.common;import org.junit.Test;import java.lang.annotation.ElementType;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.re

2020-08-10 10:30:18 78

原创 java网络编程

网络编程概述网络通信要是概述通信要素1:IP和端口号IPtry { InetAddress inetAddress = InetAddress.getByName("192.186.0.1"); System.out.println(inetAddress); InetAddress inetAddress1 = InetAddress.getByName("www.baidu.com"); System.out.println(inetAddre

2020-08-07 15:09:49 74

原创 IO流总结---节点流、缓冲流、转换流、标准输入输出流、打印流、数据流

节点流定义:程序用于直接操作目标设备所对应的类叫节点流节点流: FileInputStream、FileOutputStream、 FileReader、 FileWriterFileReader public void test() throws IOException { // 路径,相较于当前module,如果是在main()中则相较于当前工程 // 1、实例化File类的对象,指明要操作的文件 File file = new File("src\\com\\IO\\

2020-08-06 16:58:20 212

原创 Java集合框架概述-图片版

查方式:右键->在新标签页中打开图片

2020-08-01 11:36:25 85

原创 集合和泛型

集合和泛型集合的API分支主题 4集合List(interface)ArrayList无自动字母排序没有sort()优点:成本低,插入末尾或者指定位置LinkdListVectorSet(interface)HashSet如何判断相等依据hashCode()没被覆盖时,依据内存位置计算若两对象的hashcode相等,则再调用equals()来判断是否真的相等若hashCode()没有重写过,则堆上的两个对象永远不可能相等若equals

2020-08-01 11:26:39 66

原创 远程部署的RMI

远程部署的RMI远程程序调用(Remote Method Invocation, RMI)调用远程机器上的对象远程过程调用的设计创建出4种东西服务器客户端服务器辅助设计客户端辅助设计1、创建客户端和服务器应用程序1、服务器应用程序是个远程服务,是个带有客户端会调用的方法的对象2、创建客户端和服务器端的辅助设施(helper)客户端–>客户端辅助设施<—>服务器辅助设施–>服务器调用方法的过程1、客户端对象对辅助设施对象调用doBigThing()2、

2020-08-01 11:25:15 117

原创 接口与内部类

接口与内部类接口对类的一组需要描述,这些类要遵从接口描述的统一格式进行定义接口的特性1、接口中的方法自动地被设置为public2、接口中的域被自动设为public static final为什么需要接口?每个类只能拥有一个超类,但却可以实现多个接口接口与抽象类为什么不用抽象类替代接口?每个类只能扩展一个类,但可以实现多个接口对象克隆拷贝与克隆拷贝:拷贝一个对象,仅是拷贝了对象的引用克隆:克隆一个对象,是完全copy一个对象自带cloneEmployee copy =

2020-08-01 11:24:32 82

原创 包、jar存档文件和部署

包、jar存档文件和部署部署应用程序部署的选择本机 Executable Jar(Java ARchive 存档)两者之间的组合:Web Start 、RMI app远程 HTTPExecutable Jar将源代码与类文件(编译过的)分离项目目录MyProjectsource.javaclasses.class把类包进包中用包防止类名称的冲突-d处于source路径位置则:javac -d …/classes *.java

2020-08-01 11:23:39 120

原创 Java集合框架概述

Java集合框架概述对多个对象的存储数组弊端(故需要集合)数组在内存存储方面的的特点1、一旦初始化以后,其长度就确定了2、数组一旦定义好,其元素的类型也就确定了。我们也只能操作指定类型的数据了,比如String[] arr; int[] arr1;数组在存储数据方面的弊端1、一旦初始化以后,其长度就不可修改2、数组中提供的方法有限,对于添加、删除、插入数据等操作、非常不便,效率不高。3、元素个数,没有现成属性或者方法使用4、数组存储数据的特点:有序、可重复。对于无序、不可重复的需求

2020-08-01 11:18:26 100

原创 集合相关习题

集合相关习题习题如何遍历Map的key集,value集,key-value集,使用上泛型// 如何遍历Map的key集,value集,key-value集,使用上泛型 public void test() { HashMap<String, Integer> map = new HashMap<>(); map.put("AA", 123); map.put("BB", 456); // 遍历key集 Set<String

2020-08-01 11:13:02 368

原创 区块链学习笔记记录( 1. 密码学及加密货币概述)

侵权请联系我,即删1. 密码学及加密货币概述1.1 密码学哈希函数1.2哈希指针及数据结构1.3数字签名1.4 公钥即身份1.5 两种简单的加密货币1. 密码学及加密货币概述1.1 密码学哈希函数哈希函数具有以下三个特性:其输入可为任意大小的字符串产生固定大小的输出它能进行有效计算,对应n位字符串,其哈希值计算的复杂度为O(n)要使哈希函数达到密码安全,要求其具有以下三个附加特性...

2019-08-21 14:15:21 248

转载 GIT学习总结

1、廖雪峰官方网站廖雪峰官方网站2、网友总结新e风艺术工作室先看资料1,再看2,加深理解。

2019-07-10 20:43:59 57

原创 MATLAB遍历子文件夹及其下jpg文件(三层目录)

首先感谢子辰曦大神写的“MATLAB遍历子文件夹及其下文件”MATLAB遍历子文件夹及其下文件以下是本人的一点改进(一)文件目录结构/maindir|-- subdir1|-- subsubdir1|-- datafile1.jpg|-- datafile2.jpg|-- subdir2|-- subsubdir2|-- datafile3.jpg|-- datafile4...

2019-07-10 20:29:52 857

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除