自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小浩的博客

just codding

  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 集成SSM,开发属于自己的博客网站

一:需求分析,创建数据库-- 创建数据库 DROP DATABASEIF EXISTS blog;CREATE DATABASE blog DEFAULT CHARACTERSET utf8;-- 创建表USE blog;DROP TABLEIF EXISTS option_;CREATE TABLE option_ ( id INT (11) NOT NULL au...

2019-06-22 20:54:32 662

原创 Mybatis源码小结

1. 组成总共会需要几个工具configuration:加载配置内部的environment,加载数据源(也就是封装了JDBC获取连接的操作)mybatis-config.xml,获取映射集合mappersmybatis.xml文件,获取各个mapper的主要sql语句sqlsession:SQL会话,也就是用户和DB之间沟通的桥梁包含全局configuration包含全局执行器executor:执行器,用来真正执行sql语句statementHandler:执行sql前

2020-09-06 09:43:25 140

原创 一次OOM的排查

服务器出现OOM了怎么办第一步:保存现场之前不懂,输入命令 jmap -histo:live < pid >,导致JVM被强制fullGC了,现场被破坏了。所以我们记得不用使用live这个选项,它会强制FullGC。首先,获取进程号。可以通过jps -lv 或者ps -ef | grep ‘你的工程名’,用这两个命令可以拿到pid。看实例对象的数量以及大小。jmap -histo [ pid ] > /xxx/xxx.txt,通过这种方式,可以把现场保存成文件。生成内存快照,可

2020-07-25 22:45:04 274

原创 算是结束秋招了,写篇帖子记录一下~

从七月份开始边实习边投简历,到后来八月份开始陆陆续续笔试,直到九月份开始渐渐进入面试状态,不断在面试中查缺补漏,在九月末十月初开始积极参加宣讲会,算是上岸了!最大的感受是——不努力一把真的不知道自己有多菜首先作为一名二本学校的菜鸡,首先在学历上拼不过一本的大佬们…并且学校偏僻,没有企业来学校开宣讲会,一般都需要跑去很远的地方参加宣讲会,这也是硬伤。其次在基础上,个人因为是7月份找了实习,所以刷...

2019-10-16 10:51:02 414 1

原创 整合Spingboot+Redis+Shiro,打造一个电商网站

一:导入数据导入sql文件二:创建项目点击Create New Project新建项目左边选中Spring Initializr,直接下一步GroupId: 填写项目组的名字, ArtifactId: 填写项目的名字左边选中 Web,右边选中 Web项目路径选择,完成二:部署环境1. 配置pom.xml<?xml version="1.0" encoding...

2019-06-22 22:41:47 708 3

原创 Linux小结

一:基本命令CPU 使用率:top命令/proc/stat cpu内存使用率free命令/proc/meminfo磁盘使用情况:df -h查看网络信息:Netstat命令查看进程端口号:netstat - apn|grep 端口号grep -v(逐层过滤) -e(正则表达式)查看带宽:nload查看IO:IOTOP1. VIM(1)打开与退出vi fle:...

2019-06-15 16:58:20 634

原创 Java复习笔记(10)——设计模式

一:定义在软件工程中,设计模式(design patern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。二:常见设计模式及其在JDK中的应用1. 适配器模式把一个类的接口变换成客户端所期待的另一种接口,使原本因接口不匹配而无法在一起工作的两个类能够在一起工作JDK 中:java.util.Arrays#asList()java.io.InputSreamRea...

2019-06-13 11:52:32 479

原创 安全加密小结

AES高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下:RSARSA 加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法。非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密...

2019-06-13 09:40:50 353

原创 Java复习笔记(9)——数据库

标题

2019-06-12 10:08:31 5926 5

原创 Java复习笔记(4)——多线程与并发(2)

九:线程池原理线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务。如果线程数量超过了最大数量,则超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。主要特点为:线程复用控制最大并发数管理线程1. 线程复用每一个 Thread 的类都有一个 start 方法。 当调用 start 启动线程时 Java 虚拟机会调用该...

2019-06-08 09:05:03 681

原创 Java复习笔记(8)——网络

一:网络的结构物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机...

2019-06-06 15:49:00 587

原创 Java复习笔记(7)——SSM(2)

四:JPA1. 事务事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。2. 事务的分类(1)本地事务紧密依赖于底层资源管理器(例如数据库连接 ),事务处理局限在当前事务资源内。此种事务处理方式不存在对应用服务器的依赖,因而部署灵活...

2019-06-05 22:35:42 367

原创 Java复习笔记(6)——SSM(1)

一:Spring1. 特点轻量级:可以在大小只有1M多的JAR文件发布,所需的开销也小控制反转 IOC:Spring通过 IOC 技术实现低耦合,一个对象A依赖的其他对象会通过被动的方式传递进来,而不是对象A自己创建或查找依赖的对象面向切面 AOP :Spring支持面向切面编程,分离应用的业务逻辑和系统服务容器:Spring包含并管理应用对象的配置和生命周期可以配置bean的创建...

2019-06-05 15:40:03 629

原创 Java复习笔记(5)——Java基础知识

一:异常如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。1. 分类Throwable 是 Java 语言中所有错误或异常的超类,下一层分为 Error 和 ExceptionError:Error...

2019-06-04 11:30:06 408 5

原创 Java复习笔记(3)——多线程与并发(1)

一:线程的实现1. 继承 Thread 类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。public class MyThread extends Thread { public void...

2019-06-02 21:32:24 528

原创 Java复习笔记(2)——IO与集合

一:Java的IO1. IO模型(1)阻塞 IO 模型最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内核会去查看数据是否就绪:如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出 CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除 block 状态。特点:线程执行的效率较低dat...

2019-06-01 20:32:11 513

原创 Java复习笔记(1)——JVM

一:基本概念JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。二:运行过程代码翻译为class文件:Java 源文件—->编译器—->字节码文件通过类加载器装载类:字节码文件—->JVM的解释器—->机器码执行类解释执行编译执行:...

2019-06-01 15:49:49 479

原创 并发编程学习笔记(五)——Java8、9、10

一:Java8的函数式编程1. 特点将函数作为参数传递给另外一个函数将函数作为另外一个函数的返回值避免修改函数的外部状态声明式编程,不需要提供明确的指令操作传递的对象不变,易于并行2. 基本概念函数式接口只定义单一抽象方法(被Object实现的方法不是抽象方法)的接口,可以存在实例方法@FunctionalInterfacepublic interface Handler...

2019-05-31 20:44:58 593

原创 并发编程学习笔记(四)——并行模式与算法

一:并行中的设计模式1. 单例模式对于频繁使用的对象,可以节省初始化操作的开销减轻GC压力,缩短GC停顿时间package SingletonPattern;/** * 通过静态内部类创建对象 */public class StaticInnerClass { private StaticInnerClass(){} /** * 被调用时才会加载...

2019-05-28 15:40:37 221

原创 并发编程学习笔记(三)——锁的优化

一:编程优化减少锁的持有时间:只在必要时进行synchronized同步部分方法,避免同步整个方法减少锁的粒度:通过对数据结构分块处理,如果多个线程处理的数据在多个块,则可以并发执行(当系统需要取得全局锁时开销大)读写分离锁:通过对系统功能点的分割,读写分离锁分离:对于不存在竞争关系的方法,可以分离为多个锁锁粗化:对于一连串请求释放锁的操作,整合成对锁的一次请求释放操作二:虚拟机的...

2019-05-27 21:51:18 204

原创 并发编程学习笔记(二)——JDK并发包

一:同步控制1. synchronized的扩展——重入锁同一个线程可以反复进入的锁,比synchronized同步块具有更大的灵活性。创建锁非公平: ReentrantLock lock = new ReentrantLock();公平: ReentrantLock lock = new ReentrantLock(true);使用锁:lock.lock();使用可中断锁...

2019-05-27 11:32:40 200

原创 并发编程学习笔记(一)——初始并发编程

一:并发编程1. 基本概念(1)同步和异步同步:同步方法一旦调用,调用者必须等待方法调用返回后,才能继续后面的行为异步:异步方法在另外一个线程执行,方法调用立即返回,调用者可以继续后面的操作,操作完成后通知调用者,返回结果(2)并发与并行并发(1个CPU):多个任务交替进行(可能串行)并行(多个CPU):多个任务同时进行(3)临界区表示一个公共资源,可以被多个线程使用。同...

2019-05-19 20:38:14 253

原创 Java虚拟机学习笔记(五)——高效并发

一:内存与线程1. Java内存模型定义程序中各个变量(实例字段、静态字段、数组元素)的访问规则所有变量存储在主内存每条线程还有自己的工作内存,保存了使用到的变量在主内存的副本拷贝。(不同线程之间无法访问彼此的变量,线程也无法访问主内存的变量)2. Java内存的交互主要操作lock锁定(主内存):把主内存的变量标志为一条线程独占的状态unlock解锁(主内存):主内存的变量...

2019-05-18 20:50:36 217

原创 Java虚拟机学习笔记(四)——类文件与类加载

一:JVM的特性1. 平台无关性程序需要被翻译器翻译成0和1构成的二进制格式——机器码,才能被计算机执行虚拟机在不同的操作系统上,都可以载入和执行同一种平台无关的字节码(类文件),实现“一次编写,到处执行”,将字节码翻译成机器码2. 语言无关性多种语言可以在Java虚拟机上运行,通过不同的编译器,将程序的代码翻译成字节码的(类文件),再被虚拟机翻译成机器码二:类加载机制虚拟机把描...

2019-05-17 21:54:55 208

原创 Java虚拟机学习笔记(三)——调试与调优

一:调试1. 工具(1)jps:虚拟机进程状况工具列出正在运行的虚拟机进程,显示运行的主类和进程在本地虚拟机的唯一ID(LVMID)格式:jps -命令 进程ID-q:输出LVMID-l:输出主类名或jar路径-v:输出进程启动时的JVM参数-m:输出进程启动时传递给主函数的参数(2)jstat:虚拟机统计信息监视工具监视虚拟机各种运行状态信息的命令行工具,包括本地或远程虚...

2019-05-17 15:27:07 422

原创 Java虚拟机学习笔记(二)——内存回收与内存分配

一:垃圾收集GC1. 哪些内存需要回收?本地方法栈、Java方法栈、程序计数器:内存的分配和回收具备确定性,在方法结束或线程结束后,自动回收内存Java堆、方法区:内存的分配和回收具备动态性,需要GC回收内存(1)Java堆中的不可用对象判断对象是否存活的标准——引用如果reference类型的数据中存储的数值代表的是另外一个内存的起始地址,则这块内存代表一个引用引用类型...

2019-05-16 21:53:37 188

原创 Java虚拟机学习笔记(一)——内存区域与内存溢出

一:Java虚拟机的内存区域Java虚拟机在执行Java程序时,会将管理的内存分为若干区域方法区堆虚拟机栈本地方法栈程序计数器1. 程序计数器(1)概念当前线程所执行的字节码的行号指示器如果线程当前执行的是Java方法,则记录当前执行的字节码指令的地址如果线程当前执行的是Native方法,则为空(2)作用字节码解释器的工作就是通过改变该计数器的值,选取下一条需要执...

2019-05-16 11:51:46 184

原创 《计算机网络》学习笔记(1)——初始计算机网络

一:基本概念1:计算机网络提供的功能:连通性:上网用户都可以交换信息。共享:网络的资源共享。2:计算机网络的基本概念网络由若干结点(计算机、集线器、路由、交换机)和连接结点的链路组成。互联网由若干网络和路由器互连组成。其中,因特网是世界上最大的互联网,因特网中的计算机被称为“主机”。3:计算机网络的发展ARPANET:连接在ARPANET的主机直接与就近的结点交换机相连,后...

2019-05-13 22:45:24 763

原创 设计模式学习笔记(6)——不变模式

1. 定义一个对象的状态在对象被创建之后就不再变化,允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销2. 分类弱不变模式:一个类的实例的状态不会改变,但是子类的实例具有可能会变化的状态没有任何方法会修改对象的状态所有属性是私有的这个对象所引用到的其他对象如果是可变对象的话,必须设法限制外界对这些可变对象的访问在不变对象内部初始化被引用的对象在客户端初始化被...

2019-05-12 16:31:23 229

原创 设计模式学习笔记(4)——行为型设计模式

一:策略模式1. 定义定义算法族,将每一个算法封装到具有共同接口的独立的类中,让他们之间可以互相替换,让算法的变换独立于使用者。2. 使用场景:通过公共接口的一个引用,在具体的场景下可以使用不同的策略策略:只需要定义公共方法,交给不同的实现类具体实现细节(算法)(1)场景package StrategyPattern;/*抽象场景 */public class Scene...

2019-05-12 16:30:18 192

原创 设计模式学习笔记(3)——结构型设计模式

一:装饰者模式1. 定义又名包装模式。装饰模式以对客户端透明的方式,把经常改变的模块作为装饰,动态扩展对象的功能,是继承关系的一个替代方案。透明装饰者模式:具体组件和装饰器的接口与抽象组件的接口完全一致,属于同一超类型(具体组件不再扩展其他功能)半透明装饰者模式:具体组件和装饰器的接口与抽象组件的接口不一致(具体组件需要扩展其他功能)2. 使用基本组件扩展组件:继承基本组件(保...

2019-05-12 15:51:20 168

原创 设计模式学习笔记(2)——创建型设计模式

一:工厂模式工厂模式:通过工厂,封装创建对象的代码,不需要具体实例化,使用工厂实例化(一)简单工厂1. 定义又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。2. 使用一个静态方法通过参数,创建需要的对象抽象产品类具体产品类静态工厂类业务类具体业务方法:使用静态工厂生产的产品(1)产品package FactoryPattern....

2019-05-12 15:22:09 464

原创 设计模式学习笔记(5)——复合模式

1. 定义在一个解决方案中结合两个或多个模式,以解决一般或重复发生的问题。

2019-05-10 10:10:11 149

原创 设计模式学习笔记(1)——初始设计模式

设计的缺点继承的缺点:改变父类会影响全部子类接口的缺点:无法实现代码复用设计原则将需要变换的模块独立处理:只需要改变或扩充这一模块,避免其他部分受到影响...

2019-05-06 10:39:21 133

原创 程序设计语言的复习笔记

一:程序语言

2019-05-02 20:36:37 1309

原创 学习数据库(6)——数据库的控制

一:事务1. 基本概念事务是在数据库应用中完成单一逻辑功能的操作集合。由查询和更新语句的序列组成,SQL默认一个语句执行时就开始一个事务。2. 要求——ACID原子性:要么执行要么不执行一致性:不会破坏数据库的一致性隔离性:并发运行的事务互不影响持久性:事务操作的结果持久化3. 事务的检查——完整性约束违反约束,回滚事务参照完整性只在事务结束时检查,在级联操作时,如果违反...

2019-04-29 08:53:13 640

原创 学习数据库(5)——数据库规范化

一:关系模式关系名R(属性名A1,A2…)1. 转换(1)实体集强实体集关系名:表名属性名普通属性:直接转换复合属性:为每个组成部分单独创建属性多值属性:为该属性单独创建表弱实体集关系名:表名依赖的属性+部分码:主键属性名转换(2)联系集联系名:表名主键多对多:两个实体集的主键的组合多对一/一对多:“多”实体集的主键一对一:任意一方的主键...

2019-04-28 17:07:29 883 1

原创 学习数据库(4)——SQL语言

1. 数据库的相关操作1. 表与属性创建表 create table 表名 ( 属性名 属性类型 约束, 完整性约束 );删除表 drop table 表名;修改表——增加属性 alter table 表名 add 属性 属性类型;修改表——删除属性 alter table 表名 drop 属性;修改表——修改属性 alter table 表名 modi...

2019-04-28 15:25:50 629

原创 学习数据库(2)——数据模型

1. 实体与关系(1)实体客观存在的对象并且可区分属性每个实体都具有属性属性域:属性的取值范围种类:简单属性:只有一种属性复合属性:多种属性组合单值属性:单一的值多值属性:属性对应多个值基属性:一个基本属性派生属性:一个属性可以由其他属性得到(2)实体集相同类型的实体集合,具有相同的性质。实体用一个属性集合表示弱实体集没有主键的实体集,强烈依赖它的标识实体集部...

2019-04-27 17:01:49 780

原创 学习数据库(3)——关系运算

一:查询语言的组成关系代数元组关系演算域关系演算二:关系代数——过程化语言1. 关系运算(1)基本运算选择 Select——元组根据选择谓词p在关系R中查找元组,用σp( R )表示选择谓词选择连词:与∧,或∨,非¬包含比较符的表达式投影 Project——属性根据保留属性A在关系R中保留属性,并去除重复元组,用ΠA1,A2…AN( R )广义投影允许在投影列...

2019-04-25 20:14:20 5039 1

前端仿淘宝物流的时间轴插件

这是一个轻量级的,简单的jQuery插件,用于建立一个简单的垂直时间表。

2019-03-27

空空如也

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

TA关注的人

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