自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 10、MyBatis的自动生成代码、PageHelper分页插件

文章目录代码生成方式一:官方jar方式二:IDEA插件及其应用(PageHelper)代码生成方式一:官方jar为了简化MyBatis的编写,官方推出了一个工具"mybatis-generator",Java编写的,通过这个工具可以生成数据库表对应的实体类、Mapper接口以及Mapper映射文件。官网:http://mybatis.org/generator/快速入门指南:http://mybatis.org/generator/quickstart.html我们这里就是使用从命令

2020-09-22 13:00:43 930

原创 4、进程的描述与控制

文章目录进程管理进程的定义和特征进程的状态与转换进程控制块PCB进程控制进程同步经典进程的同步问题进程通信线程的基本概念线程的实现方式进程管理进程的定义和特征为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了"进程"的概念。为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段、数据段和

2020-09-19 13:47:41 545

原创 3、存储器管理

文章目录存储器管理程序的装入和链接连续分配存储管理方式分页存储管理方式分段存储管理方式段页式存储管理方式存储器管理程序的装入和链接程序的装入:绝对装入方式:用户程序经编译后,将产生绝对地址(物理地址)的目标代码。可重定位装入方式:对于用户程序编译所形成的若干个目标模块,它们的起始地址通常都是从0开始的,程序中的其他地址都是相对于起始地址计算的。在采用可重定位装入程序将装入模块装入内存后,会使装入模块中的所有逻辑地址与实际装入内存后的物理地址不同。通常,把在装入时对目标程序中指令和数据地址的修改

2020-09-19 13:31:56 290

原创 2、处理机调度和死锁

文章目录处理机调度和死锁处理机调度的层次作业调度进程调度死锁处理机调度和死锁处理机调度的层次处理机调度是对处理机资源进行分配。处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。(1)高级调度:作业调度(2)低级调度:进程调度(3)中级调度:内存调度在上述三种调度中,进程调度的运行频率最高,因此把它称为短程调度(低级调度);作业调度往往是一批作业已运行完毕并退出系统,又需要新调入一批作业进入内存时,作业调度的周期较长,因此称为长程调度(高级调度);中级调度的运行频率基本介于上述两种之间

2020-09-18 19:20:23 355

原创 1、操作系统概述、特征、功能

文章目录操作系统概述概念目标作用特征功能运行机制操作系统概述概念负责管理协调计算机硬件、软件等计算机资源的工作,为上层用户、应用程序提供服务,是一种系统软件。目标在计算机系统上配置操作系统,其主要目标是:方便性有效性可扩充性开放性作用作为计算机系统资源的管理者(补充:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理)QQ进程交给CPU处理,当视频聊天时,系统分配摄像头设备给QQ进程。作为用户和计算机硬件系统之间的接口命令接口:允许用户直接使

2020-09-17 22:44:51 903

原创 8、垃圾回收器

文章目录评估GC性能指标Serial回收器:串行回收ParNew回收器:并行回收Parallel Scavenge回收器:吞吐量优先CMS回收器:低延迟G1回收器:区域化分代式GC日志分析评估GC性能指标吞吐量:运行用户代码的时间占总运行时间的比例暂停时间:执行垃圾收集时,程序的工作线程被暂停的时间;内存占用:Java堆区所占内存的大小;存在实线的是:可以搭配使用的垃圾回收器;存在虚线的是:已经废弃或者即将废弃的组合;查看默认的垃圾回收器:-XX:+PrintCommandLineFl

2020-09-17 17:01:40 145

原创 7、垃圾回收相关概念(强引用、软引用、弱引用、虚引用)

文章目录System.gc()的理解内存溢出和内存泄漏Stop The World垃圾回收的并行与并发安全点与安全区域Java中的引用强引用软引用弱引用虚引用System.gc()的理解在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用,会显式触发Full GC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存;然而System.gc()调用附带一个免费声明,无法保证对垃圾收集器的调用;JVM实现者可以通过System.gc()调用来决定

2020-09-17 16:57:38 382

原创 6、垃圾回收概述、垃圾回收算法(可达性分析算法、标记清除算法、复制算法、标记压缩算法)

文章目录垃圾回收概述垃圾回收相关算法标记阶段:引用计数法标记阶段:可达性分析算法对象的finalization机制MAT的GC Roots溯源清除阶段:标记-清除算法清除阶段:复制算法清除阶段:标记-压缩算法小结分代收集算法增量收集算法分区算法垃圾回收概述关于垃圾收集的三个经典问题:哪些内存需要回收?什么时候回收?如何回收?什么是垃圾?垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占用的内存空间会一直保

2020-09-17 00:45:26 1286

原创 5、对象的实例化、内存布局、访问方式、String#intern()、字符串的拼接问题

文章目录对象的实例化对象的内存布局对象的访问定位StringString的基本特性String的内存分配字符串拼接操作intern的使用String#intern对象的实例化创建对象的步骤给对象的属性赋值的操作:1、属性的默认初始化;2、显式初始化;3、代码块中初始化;4、构造器中初始化。其中,2,3,4阶段都体现在创建对象的步骤中的第6步,执行init方法初始化。设置对象的对象头:将对象所属类(类的元数据信息)、对象的hashCode和对象的GC信息、锁信息等数据存储在对象的对象头。

2020-09-16 15:44:07 205

原创 4、运行时数据区线程共享区(方法区)

文章目录方法区栈、堆、方法区的交互关系方法区的理解设置方法区大小方法区的内部结构方法区的演进细节方法区栈、堆、方法区的交互关系方法区的理解对于HotSpotJVM而言,方法区还有一个别名,叫做Non-Heap(非堆),目的就是要和堆分开。所以,方法区看做是一块独立于Java堆的内存空间。方法区(Method Area)与Java堆一样,是各个线程共享的内存区域;方法区在JVM启动时被创建,并且它的实际的物理内存空间和Java堆区一样都可以是不连续的;方法区的大小,和堆空间一样,可以选择

2020-09-16 10:12:46 760

原创 3、运行时数据区线程共享区域(堆)

文章目录堆堆的概述堆的细分内存结构设置堆内存大小和OOM年轻代与老年代图解对象分配和回收过程Minor GC、Major GC、Full GC的对比堆空间分代思想内存分配策略为对象分配内存:TLAB堆是分配对象的唯一选择吗堆堆的概述一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域;Java堆在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间;堆内存的大小是可以调节的;《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但是在逻辑上

2020-09-16 10:08:25 745

原创 2、运行时数据区线程私有区域(程序计数器、虚拟机栈(栈帧)、本地方法栈)

文章目录运行时数据区程序计数器虚拟机栈概述栈帧虚拟机栈的面试题本地方法栈运行时数据区不同的JVM实现对于内存的划分方式和管理机制存在部分差异,我们结合JVM虚拟机规范,来探讨经典JVM的内存布局。浅黄色为:线程私有;橙色为:线程共享。程序计数器Program Counter Register,程序计数器又称为PC寄存器。作用:PC寄存器用来存储指向下一条指令的地址,由执行引擎读取下一条指令。package org.westos.demo;/** * @author lwj * @da

2020-09-14 12:45:15 534

原创 1、类的加载过程、类的加载器、双亲委派机制、类的主动使用和被动使用

文章目录类的加载过程和类的加载器类的加载过程一、加载二、链接三、初始化类加载器一、类加载器的分类二、双亲委派机制三、双亲委派机制的优势四、类的主动使用和被动使用类的加载过程和类的加载器类的加载过程一、加载通过一个类的全限定类名获取定义此类的二进制字节流;将这个字节流所代表的静态存储结构,转换为方法区的运行时数据结构;在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。二、链接1、验证主要包括四种验证:文件格式验证,元数据验证,字节码

2020-09-13 16:24:29 249

原创 9、MyBatis的动态SQL

文章目录动态SQLsql标签if标签where标签set标签trim标签查询更新插入foreach动态SQL动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用

2020-09-13 11:47:18 190

原创 2、磁盘管理、进程管理、在CentOS上安装JDK、安装Tomcat

文章目录磁盘管理进程管理环境安装JDK安装Tomcat安装磁盘管理概述Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用命令为 df、du。df :列出文件系统的整体磁盘使用量du:检查磁盘空间使用量dfdu查看当前目录下的磁盘空间使用情况。与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看磁盘挂载和卸载根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,

2020-09-12 23:41:45 956

原创 1、Linux常用命令、目录管理、文件属性、文件内容查看、Linux硬链接与软链接、vim编辑器、用户管理和用户组管理

文章目录走进Linux系统常用的基本命令目录管理文件属性文件内容查看Linux链接Vim编辑器账号管理用户组管理走进Linux系统开机开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可!一般来说,用户的登录方式有三种:命令

2020-09-12 21:44:46 1925

原创 8、sqlSesson.getMapper(接口.class)、mapper.selectAll()的源码跟踪

文章目录跟踪sqlSession.getMapper(接口.class)跟踪mapper.selectAll()跟踪sqlSession.getMapper(接口.class)mybatis—getMapper()UserMapper mapper = sqlSession.getMapper(UserMapper.class);System.out.println(mapper);//org.apache.ibatis.binding.MapperProxy@67b92f0aJava中的代理

2020-09-12 10:13:34 1079

原创 解决IDEA不能自动导入java.util.List

2020-09-11 19:14:37 2148

原创 应用层

文章目录应用层域名系统DNS域名系统概述互联网的域名结构域名服务器文件传输协议FTP概述简单文件传送协议TFTP远程终端协议万维网WWW万维网概述统一资源定位符URL超文本传送协议HTTP超文本标记语言HTML万维网的信息检索系统电子邮件电子邮件概述基于万维网的电子邮件动态主机配置协议DHCP简单网络管理协议SNMP应用进程跨越网络的通信P2P应用层应用层的具体内容就是规定应用进程在通信时所遵循的协议。域名系统DNS域名系统概述许多应用层软件经常直接使用域名系统DNS(Domain Name S

2020-09-10 12:25:27 565

原创 传输层

文章目录传输层传输层协议概述UDPTCPTCP概述Socket可靠传输的工作原理TCP报文段的首部TCP可靠传输的实现TCP的流量控制TCP拥塞控制 ※TCP的传输连接管理TCP的连接建立 ※TCP的连接释放 ※传输层传输层协议概述进程之间的通信从通信角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层;当网络的边缘部分中的两个主机使用网络的核心部分进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时

2020-09-09 18:56:54 496

原创 7、一对一关联、多对多关联、设置延迟加载的全局开关、指定MyBatis所用日志的具体实现

一对一关联环境USE mybatis;CREATE TABLE IF NOT EXISTS boy ( bid INT NOT NULL AUTO_INCREMENT, bname VARCHAR(50) NOT NULL, PRIMARY KEY (bid));CREATE TABLE IF NOT EXISTS girl ( gid INT NOT NULL AUTO_INCREMENT, gname VARCHAR(50) NOT NULL, bbid INT UNIQUE,

2020-09-09 12:48:36 386

原创 6、数据库表的关系、Java对象的关系、关联查询(一对多)、延迟加载访问

文章目录关联查询、多表数据库表关系Java对象之间的关系前提条件一对多单向关联延迟加载双向关联延迟加载延迟加载中传递多个参数关联查询、多表数据库表关系表—>约束(主键约束、唯一性、非空、默认值、check约束)保证数据的准确性和完整性;多张表,表与表之间存在外键约束。外键约束,是关系型数据库典型的一个特点,是指一张表中的列参考/来源于另一张表的某个列的值。比如,学生信息表,电脑表,一台电脑属于一个学生。学生信息表,主表,父表。 电脑表,子表,外键表。学生编号 学生编号

2020-09-07 20:27:12 672

原创 5、MyBatis中的输入参数映射(@Param、Map、@MapKey)、输出参数映射resultMap标签、mapUnderscoreToCamelCase(单表下的演示)

文章目录再解输入和输出映射输入参数映射多个输入参数VO输入参数小结输出参数映射Map返回值映射@MapKeyResultMapmapUnderscoreToCamelCaseMapper代理开发模式,编程者只需要编写三项内容:model 实体类,通常一个程序只编写一次,可以编写工具一键生成。mapper接口,Javamapper映射,xmlmapper.xml,这个就是MyBatis编程核心关注的文件,尤其是mapper映射中的查询。在mapper.xml映射文件中,需要 查找sql,参数映射,

2020-09-07 13:45:21 2277

原创 4、MyBatis + Log4j日志查看Sql参数、结果集元数据、Mapper代理开发、JDK的动态代理与CGLib代理

文章目录MyBatis优化开发日志ResultSet如何转换为Java对象数据库元数据结果集元数据Fastjson基于MyBatis的DAO开发(传统)推荐mapper代理开发JDK动态代理CGLib代理MyBatis优化开发日志MyBatis在执行过程中的信息显示,尤其是SQL参数。1、增加依赖<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId

2020-09-05 19:21:43 522

原创 版本控制介绍、Git的安装、TortoiseGit的安装、Git的文件操作、IDEA + 同步到GitHub远程仓库 | 克隆 | 分支 | 忽略文件

文章目录版本控制什么是版本控制常见的版本控制工具版本控制分类Git与SVN的主要区别Git的历史Git安装与配置TortoiseGit的安装Git基本理论Git项目搭建Git文件操作GitHub远程仓库HTTPS同步HTTPS克隆SSH同步IDEA配合GitHub网站上传项目从GitHub网站克隆项目到IDEA分支分支简介创建分支切换分支合并分支删除分支IDEA下的分支操作创建分支切换分支合并分支删除分支IDEA下的忽略文件版本控制什么是版本控制什么是版本控制? 版本迭代、新的版本!版本控制(R

2020-09-04 19:59:12 1022

原创 3、JavaWeb中Service层的作用、MyBatis的重要组件、mybatis-config.xml中的别名映射、properties配置、#{}和${}的区别、获取插入数据的主键值

文章目录1、Service层的作用2、MyBatis重要组件ResourcesSqlSessionFactoryBuilderSqlSessionFactorySqlSession针对上面的点,对上次的代码进行改进3、MyBatis优化开发(mybatis-config.xml)配置properties别名typeAlias映射文件mapper4、#{} 和 ${}#{}${}5、插入数据并返回数据库中的主键值1、Service层的作用MVC = Jsp + Servlet + JavaBean其中j

2020-09-04 13:10:50 1054

原创 2、Maven + Junit测试单个@Test方法

Junit在包含多个@Test的测试方法中执行一个测试方法。1、Maven设置跳过测试2、点击方法左侧的按钮这样就不会执行上面的insert测试方法。

2020-09-03 23:51:40 475

原创 1、MyBatis框架入门学习CRUD

文章目录框架前言名词辨析JavaWeb阶段回顾框架介绍ORM框架MyBatis简介MyBatis入门案例1、环境准备2、新建普通Maven项目,导入依赖3、MyBatis核心配置文件4、POJO类Account对应数据表account5、Mapper映射文件6、Junit测试7、根据id查询8、增9、改10、删11、mapper.xml放在resources目录下框架前言名词辨析技术、组件、框架、系统技术:解决某一类问题的方法和手段,jdbc技术,jsp技术组件:应用程序中可以复用的“零件”(封

2020-09-02 11:14:22 535

空空如也

空空如也

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

TA关注的人

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