自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

原创 程序计数器、虚拟机栈详解

内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行,JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨一下经典的JVM内存布局。Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁。

2021-11-16 15:43:29 1161

原创 双亲委派机制详解

双亲委派机制Java虚拟机对class文件采用的是***按需加载***的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成的class对象。而且加载某个类的class文件时,Java虚拟机采用的是***双亲委派模式***,即把请求交由给父类处理,它是一种任务委派模式。工作原理如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器如果父类加载器可以

2021-11-11 14:18:34 577

原创 类加载器详解

类加载器的分类JVM支持两种类型的加载器,分别为***引导类加载器(Bootstrap Class Loader)***和***自定义类加载器(User-Defined Class Loader)***。从概念上来讲,自定义类加载器一般指的是程序中由开发人员自定义的一类加载器,但是Java虚拟机规范却没有这么定义,而是***将所有派生于抽象类ClassLoader的类加载器都划分为自定义类加载器***。无论类加载器的类型如何划分,在程序中我们最常见的类加载器始终只有3个,如下所示:publi

2021-11-09 16:28:11 104

原创 类加载的过程

类加载器子系统作用类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量或数字常量(这部分常量信息是Class文件中常量池部分的内存映射)类加载器Class Loader角色class file存在于本地硬盘上,可以理解为

2021-11-09 13:44:51 67

原创 JVM发展历史

Sun Classic VM早在1996年Java1.0版本的时候,Sun公司发布了一款Sun Classic VM的Java虚拟机,它同时也是世界上第一款商用Java虚拟机,JDK1.4时就完全被淘汰。这款虚拟机内部只提供解释器如果使用JIT编译器,就需要进行外挂。但是一旦使用了JIT编译器,JIT就会接管虚拟机的执行系统。解释器就不再工作。解释器和编译器不能配合工作。现在Hotspot内置了此虚拟机Exact VM为了解决上一个虚拟机的问题,jdk1.2时,sun提供了此虚拟机

2021-11-08 14:07:56 293

原创 JVM的基本知识

JVM:跨语言的平台Java虚拟机根本不关注运行在其内部的程序到底是使用何种编程语言编写的,它只关心“字节码”文件。也就是说Java虚拟机拥有语言无关性,并不会单纯地与Java语言“终身绑定”,只要其他编程语言的编译结果满足Java虚拟机的内部指令集、符号表及其其他的辅助信息,它就是一个有效的字节码文件,就能够被虚拟机所识别并装载运行。JVM特点一次编译,到处运行自动内存管理自动垃圾回收功能JVM的位置:JDK和JVM的关系JVM整体结构JVM详细图Java代码的执行流

2021-11-05 17:19:31 97

原创 hive学习笔记1

1.hive的基本操作hive的启动 bin/hive --启动为一个单机交互式程序 启动服务 bin/hiveserver2 然后服务 bin/beeline -u jdbc:hive2://localhost:10000 -n rootsql基本语法建库:create database mydb; --会在/user/hive/warehouse/下建一个库文件夹 mydb.db选择库:use mydb;建表: --hive中的表有两种类型:Managed Table

2021-10-26 17:54:10 394

原创 生产遇到问题大全

yarn查看日志:yarn logs -applicationId “任务Id”

2021-09-28 15:37:30 84

原创 hbase 常用命令

Hbase scan扫描全表,指定返回特定的列scan ‘stu’,{COLUMNS => [‘base:weight’,‘base:height’]}Hbase TIMERANGE 扫描指定时间内数据,前闭后开scan ‘stu’,{TIMERANGE=>[1588153968060,1588153968207]}Hbase 利用STARTROW STOPROW 扫描rowkey的范围scan ‘stu’,{STARTROW=>‘c1_s1’,STOPROW=&gt..

2021-09-28 15:15:35 750

原创 linux 命令大全(一)

date:显示当前的时间和日期[root@VM-0-7-centos ~]# dateThu Jul 1 10:59:38 CST 2021cal:显示当前月份的日历[root@VM-0-7-centos ~]# cal July 2021 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 2

2021-07-02 14:11:06 84

原创 scala 语法

定义变量变量类型首字母大写定义变量常用valvar 定义变量var k = "abc" //定义字符串变量var k : String = "abc" //定义字符串变量k="abcd"val定义常量(定义的变量不可以改变值,相当于java中的finalscala中不支持i++和++iscala的数据类型scala和java一样,有7中数值类型Byte、Char、Short、Int、Long、Float和Double(无包装类型)和一个Boolean类型。var i : Int

2020-12-08 18:31:49 248

原创 maven

maven的目录结构src/main/java目录 核心代码部分src/main/resources 配置文件部分src/test/java目录 测试代码部分src/test/resources 测试配置文件src/main/webapp页面资源,js,css,图片等等

2020-09-17 16:46:04 41

原创 Linux的目录结构

/bin(bin是Binary的缩写,这个目录存放着最近常使用的命令)/sbin(s就是super user的意思,这里存放的是系统管理员使用的系统管理程序。/home(存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的)/root(该目录为系统管理员,也称作超级权限者的用户主目录)/lib(系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库)/lost+fo...

2020-09-14 17:29:50 74

原创 移动0

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。public void moveZero(int[] nums) { //定义一个变量 int index = 0; for (int i = 0 ; i < nums.length ; i ++) { if (nums[i] != 0) { n.

2020-09-14 15:41:10 62

原创 ArrayList源码分分析

简介ArrayList是一种以数组实现的List,与数组相比,它具有动态扩展的能力,因此也可以称之为动态数组。ArrayList实现了List,RandomAccess,Cloneable,java.io.Serializable等接口。ArrayList实现了List,提供了基础的添加、删除、遍历等操作。ArrayList实现了RandomAccess,提供了随机访问的能力。ArrayList实现了Cloneable,可以被克隆。ArrayList实现了Serializable,可以被序列化

2020-09-11 14:31:15 101

原创 判断质数

1、暴力判断public class Main{ public boolean isPrimeNumber(int num){ for (int i = 2 ; i < num ; i ++){ if (num % i == 0) { return false; } } return true; }}2、优化public class Main{ public boolean isPrimeNumber(int num){ //本身是质数的优化:举例9

2020-08-12 11:44:30 95

原创 自增自减

在这里插入图片描述

2020-07-22 22:04:10 114

原创 异或运算

异或运算:相同为0,不同为1同或运算:相同为1,不同为0异或运算就记成无进位相加! 1)0^N =N N^N=0 2) 异或运算满足交换律和结合律两个数交换 1) int temp = a a = b b = temp 2) a = a + b b = a - b a = a - b 3) a = a ^ b b = a ^ b a = a ^ b怎么把一个int类型的数,提取出最右侧的1来 in

2020-06-27 17:17:22 184

原创 springmvc常用注解

@RequestMapping属性 1. path 指定请求路径的url 2. value value属性和path属性是一样的 3. mthod 指定该方法的请求方式 4. params 指定限制请求参数的条件 5. headers 发送的请求中必须包含的请求头请求参数的绑定1. 请求参数的绑定说明1. 绑定机制1. 表单提交的数据都是k=v格式的 username=haha&password=1232. SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方

2020-05-11 18:10:54 123

原创 spring基于注解和xml声明式事务控制

1.xmldaopackage com.wzk.dao;import com.wzk.domain.Account;public interface AccountDao { Account findById(Integer accountId); Account findByName(String name); void updateAccount(Account account);}package com.wzk.dao.impl;import

2020-05-11 00:15:11 100

原创 AOP基于注解的配置

package com.wzk.service;public interface AccountService { /** * 模拟更新 */ void updateAccount(); int saveAccount(); void deleteAccount(int i);}package com.wzk.service.impl;import com.wzk.service.AccountService;import org.

2020-05-09 12:04:11 103

原创 spring AOP基于xml的配置及五中通知的配置

实现前置通知打印配置文件package com.wzk.service;public interface AccountService { /** * 模拟更新 */ void updateAccount(); int saveAccount(); void deleteAccount(int i);}package com.wzk.service.impl;import com.wzk.service.AccountService

2020-05-09 10:11:29 139

原创 动态代理

动态代理:特点:字节码随用随创建,随用随加载作用:不修改源码的基础上对方法增强分类:基于接口的动态代理和基于子类的动态代理基于接口的动态代理:涉及的类:Proxy提供者:JDK官方如何创建代理对象:使用Proxy类中的newProxyInstance方法创建代理对象的要求:被代理类最少实现一个接口,如果没有则不能使用。newProxyInstance方法的参数:ClassLoader:类加载器(它是用于加载代理对象字节码的。和被代理对象使用相同的类加载器。固定写法)Class

2020-05-08 19:55:40 72

原创 spring注解注入

用于创建对象的:他们的作用就和在xml配置文件中编写一个标签实现的功能是一样的。Component:作用:用于把当前类对象存入spring容器中。属性:value用于指定bean的id。当我们不写时,它的默认值是当前类名,且首字母小写 Controller:一般用在控制层 Service:一般用在业务层 Repository:一般用在持久层 以上三个注解他们的作用和属性与Compo...

2020-05-08 11:39:01 279

原创 spring(一)

ApplicationContext的三个实现类:ClassPathXMLApplicationContext,它可以加载类路径下的配置文件,要求配置文件必须在类路径下。不在的话,加载不了。FileSystemXMLApplicationContext:它可以加载磁盘任意路径下的配置文件(必须有访问权限)AnnotationConfigApplicationContext:它是用于注解创建容...

2020-05-06 16:09:44 86

原创 mybatis

1、Mybatis中的延迟加载?什么是延迟加载?在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)什么是立即加载?不管用不用,只要一调用方法,马上发起查询。 在对应的表关系时: 一对多,多对多:通常使用延迟加载 多对一,一对一:通常采用立即加载2、mybatis中的缓存什么是缓存?存在于内存中的临时数据。为什么使用缓存?减少和数据库的交互次数,...

2020-05-01 10:12:25 71

原创 二分查找

山脉数组中查找目标值????‍♀️ 首先,本题的解决思路很明确这种「分段数组查找目标值」问题,都可以通过将数组分段,从而转化成我们熟悉的「有序数组查找目标值」问题!这个我在前天的打卡题「33.搜索旋转排序数组」的题解《多思路完全攻略,????‍♀️必须秒懂!》的「思路一」中讲解过了,欢迎观康~????‍♀️ 好了好了知道用2分了,可是下标总是玩不转,怎么办 QAQ相信大家都会下面这个 「基础二分模板」:p...

2020-04-29 16:54:24 105

原创 mybatis中的连接池

mybatis中的连接池:mybatis连接池提供了3种方式的配置:配置的位置:主配置文件SQLMapConfig.xml中的DataSource标签,type属性就是表示采用何种连接方式type属性的取值:POOLED 采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现UNPOOLED 采用传统的连接方式,虽然也实现javax....

2020-04-29 16:46:23 123

原创 mybatis(一)

mybatismybatis概述 mybatis是一个持久层框架,用java编写的 它封装了jdbc操作的很多细节,使开发者只需关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程 它使用了ORM思想实现了结果集的封装ORM:Object Relational Mapping对象关系映射简单的说:就是把数据库表和实体类及实体类的属性对应起来让我们可以操作实...

2020-04-26 09:10:59 82

原创 Cookie的快速入门

概念:客户端会话技术,将数据保存到客户端 快速入门使用步骤:创建Cookie对象,绑定数据new Cookie(String name,String value)发送Cookie对象response.addCookie(Cookie cookie);获取Cookie,拿到数据Cookie[] cookies = request.getCookies();package...

2020-03-12 11:07:11 107

原创 Servlet实现文件

文件下载需求: 1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载分析:超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框。不满足需求 任何资源都必须弹出下载提示框 使用响应头设置资源的打开方式:context-disposition:attachment;filename=xxx...

2020-03-11 23:54:39 277

原创 jdbc通过配置文件连接数据库

JDBC工具类通过配置文件获取数据库连接ResourceBundle.getBundle读取资源文件的路径package JDBC.cn.wzk.jdbc.util;import java.text.MessageFormat;import java.util.Enumeration;import java.util.List;import java.util.MissingReso...

2020-02-11 11:24:10 539

原创 第一范式、第二范式和第三范式

数据库的范式概念:设计数据库是,需要遵循的一些规范,要遵循后边的范式要求,必须遵循前边的所有范式要求设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈梯次规范,越高的范式数据库冗余越小目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式、第四范式(4NF)、第五范式(5NF)。...

2019-12-20 18:42:43 2841 2

原创 单例模式

目的:使得类的一个对象成为该类系统中的唯一实例定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供设计要点:1、某个类只能(有且只能)有一个实例2、必须有自行创建实例的方法和能力3、必须自行向整个系统提供这个实例实现1、只提供私有的构造方法2、含有一个该类的静态私有对象3、提供一个静态的公有方法用于创建、获取静态私有对象代码实现方案1、...

2019-10-30 19:06:43 81

原创 SQL语句优先级(自己做的笔记)

先执行from关键字后面的语句,明确数据的来源,它是从哪张表取来的。接着执行where关键字后面的语句,对数据进行筛选。再接着执行group by后面的语句,对数据进行分组分类。然后执行select后面的语句,也就是对处理好的数据,具体要取哪一部分。最后执行order by后面的语句,对最终的结果进行排序。可得 from > where > group by >...

2019-08-07 16:28:30 1010

原创 spring mybatis xml中自己需要注意的一些问题(本人新手上路,如有不足,欢迎大家改正)

version –文档符合XML1.0规范,我们学习1.0encoding –文档字符编码,比如”GB2312”或者”UTF-8”<resultMap>定义返回值类型<id column>对应应该是入参中java类Select的属性, property则对应SelectCriteria类的属性值id对应的接口中的方法 parameterType...

2019-08-07 11:48:31 172 2

原创 自己做的笔记2

xml中的id对应的接口中的方法

2019-08-06 17:21:12 85

原创 自己做的笔记

数据库表字段名字可以相同,但是join,select出来后,字段名不能相同,不然计算机哪知道你要跟哪列进行映射起来

2019-08-05 18:34:28 124

原创 web工程修改数据

修改数据

2019-07-29 21:41:21 268

原创 IDEA打开web工程

IDEA打开web工程1、点击open2、选定需要打开的web工程,找到pom.xml文件,点击ok3、点击open as project4、点击Delete Existing Project and Import点击Fix

2019-07-28 10:45:22 301

Mybatis第四天讲义.pdf

Mybatis第四天讲义.pdf

2020-05-01

Mybatis第一天讲义.pdf

自定义mybatispdf的文档,底层理解mybatis框架,一些老师讲解的内容。

2020-04-26

Array.java

模拟数组的底层实现 ,对数组的二次封装

2019-09-17

2-8Tomcat.zip

Tomcat视频教程,适合零基础的小白,

2019-07-28

空空如也

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

TA关注的人

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