自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 shell 脚本定制与重定向

脚本定制. 或者 source: 读取文本文件并执行(在当前shell解释并执行) source ./ld 总用量 8 -rw-------. 1 root root 1223 10月 2 21:14 anaconda-ks.cfg -rw-r--r-- 1 root root 18 10月 4 19:21 l...

2019-10-04 20:27:00 218

转载 awk 一 文本处理工具

简介awk 是逐行扫描文件(从第1行到最后一行),寻找含有目标文本的行: 如果匹配成功,则会在该行上执行用户想要的操作。 反之,则不对行做任何处理。awk 命令的基本格式为: awk [选项] '脚本命令' 文件名awk 选项-F';' 指定以 ; 作为输入行的分隔符,awk 命令默认分隔符为空格或制表符。-f file 从脚本文件中...

2019-10-04 15:10:00 210

转载 sed 一 文本处理工具

简介sed 采用的是流编辑模式: 最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。sed 会根据脚本命令来处理文本文件中的数据,这些命令要么从命令行中输入,要么存储在一个文本文件中。此命令执行数据的顺序如下: 1. 每次仅读取一行内容。根据提供的规则命令匹配并修改数据。 注意,sed 默认不会直接...

2019-10-04 14:07:00 238

转载 cut sort uniq wc 一 文本处理工具

cutcut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。-c : 以字符为单位进行分割。 cut -c1-3 test.txt:打印第1个到第3个字符 cut -c5- test.txt:打印从第5个字符开始到结尾-d : 自定义分隔符,默认为制表符。 ...

2019-10-04 11:27:00 157

转载 grep命令 一 文本搜索工具

使用正则表达式搜索文本,并把匹配的行打印出来。使用权限是所有用户。基本使用grep [option] pattern filename: pattern如果是表达式或者超过两个单词的, 需要用引号引用。 可以是单引号也可双引号, 区别是单引号无法引用变量而双引号可以。grep test *file 在当前目录中,查找后缀有 file 字样的文件中...

2019-10-04 10:33:00 139

转载 chkconfig 与 systemctl

chkconfig命令主要用来更新(启动或停止)和查询系统服务(service)的运行级信息,用于维护/etc/rc[0-6].d目录的命令行工具。chkconfig -–add httpd 增加httpd服务chkconfig –-del httpd 删除httpd服务chkconfig –-list 列出系统所有的服务启动情况chkcon...

2019-10-03 15:20:00 503

转载 系统管理与进程命令

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。查看系统中所有进程ps aux 看系统中所有进程,使用 BSD 操作系统格式ps -le 查看系统中所有进程,使用 Linux 标准命令格式。top [选项] 查看系统健康状态 选项: -d 秒数:指定top命令每隔几秒更新。默...

2019-10-03 13:11:00 87

转载 Shell 命令

Shell简介Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序。用户可以用Shell来启动、挂起、停止甚至是编写一些程序。echo打印输出命令echo [选项] [输出内容]选项:-e:支持反斜线控制的字符转换多命令执行ls ; date ; cd /user ; pwd; 多个命令顺序执行,命令...

2019-10-03 11:18:00 75

转载 软件安装命令

rpm包RPM包安装在默认位置中RPM包默认安装路径/etc/配置文件安装目录/usr/bin/可执行的命令安装目录/usr/lib/程序所使用的函数库保存位置/usr/share/doc/基本的软件使用手册保存位置/usr/share/man/帮助文件保存位置rpm软件安装包全名: 操作的包是没有安装的软件包时,...

2019-10-03 09:34:00 128

转载 vim 详解

Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器。它的作用是建立、编辑、显示文本文件。Vim的几种模式正常模式: 可以使用快捷键命令,或按:输入命令行。插入模式: 可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。 在输入模式中,可以使用以下按键: 字符按键以及Shift组合,输入字...

2019-10-02 15:49:00 84

转载 网络命令

给用户发信息:write指令名称:write指令所在路径:/usr/bin/write执行权限:所有用户语法:write [用户名] 范例:# write ld发广播信息:wall指令名称:wall命令英文原意:write all指令所在路径:/usr/bin/wall执行权限:所有用户语法:wall [message] 范例:# wall She...

2019-10-02 15:16:00 96

转载 帮助与用户管理命令

帮助命令帮助命令:man help命令名称:man help命令英文原意:manual helpman命令所在路径:/usr/bin/man执行权限:所有用户功能描述:获得帮助信息语法: man [命令] help [命令] man:描述外部命令,help:描述内部命令whereis [命令]: 定位命令位置及帮助文档...

2019-10-02 15:04:00 91

转载 目录与文件处理命令

查看磁盘占用df -h 查看磁盘分区情况。du -sh ./* 查看当前目录各文件占比。显示目录与文件命令名称:ls命令英文原意:list命令所在路径:/bin/ls执行权限:所有用户功能描述:显示目录文件语法:ls 选项[-ald] [文件或目录] -a 显示所有文件,包括隐藏文件 -l 详细信息显示 -d 查看目录属性...

2019-10-02 14:23:00 94

转载 Linux 系统分区与目录介绍

分区分区类型 主分区:总共最多只能分四个 扩展分区: 只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。 但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。 逻辑分区: 逻辑分区是在扩展分区中划分的。 如果是IDE硬盘,Linux最多支持59个逻辑分区。 ...

2019-10-01 17:05:00 154

转载 Mysql 优化

三大范式范式 Normal Format 第一范式1NF: 字段原子性,字段不可再分割。 关系型数据库,默认满足第一范式 第二范式: 消除对主键的部分依赖。 部分依赖:某一字段依赖复合主键的一部分(只有复合主键才会产生部分依赖) 第三范式: 消除对主键的传递...

2019-10-01 12:40:00 103

转载 MySql 字段类型对应 Java 实体类型

前言MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的: 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String。 任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型。 (当然这样也可能出一些四舍五入,溢出,精度丢失之类的问题)。 Java基础类型与...

2019-09-28 19:10:00 695

转载 Mysql 基础语法

sql语句分类DDL:数据定义语言(create alter drop)DML:数据操作语句(insert update delete)DQL:数据查询语句(select)DCL:数据控制语句,进行授权和权限回收(grant revoke)TPL:数据事务语句(commit collback savapoint)用户权限管理创建用户: create use...

2019-09-28 16:01:00 85

转载 CGLIB 详解

依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.2.12</version> &lt...

2019-09-25 22:37:00 334

转载 Java反射机制

简介Java反射是Java被视为动态语言的一个关键性质。这个机制允许程序在运行时透过Reflection API取得任何一个已知名称的class的内部信息: 包括其modifiers(诸如public,static等),super(超类)、 interfaces(接口),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起method...

2019-09-25 20:00:00 147

转载 Mybatis 工作原理

MyBatis实现原理Mybatis底层还是采用原生jdbc来对数据库进行操作的,通过SqlSessionFactory,SqlSession,Executor,StatementHandler, ParameterHandler,ResultHandler,TypeHandler(类型转换)等几个处理器封装了这些过程执行器: Executor (update,...

2019-09-25 10:12:00 68

转载 Mybatis 缓存

一级缓存一级缓存:SqlSession级别的缓存,基于PerpetualCache的HashMap本地缓存,其存储作用域为同一个SqlSessionpublic class Start2 { public static void main(String[] args) throws IOException { String resourc...

2019-09-24 21:11:00 70

转载 Mybatis中的 # 和 $ 的区别

区别#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,并自动加上''sql 预编译指的是数据库驱动在发送 sql 语句和参数给 DBMS 之前对 sql 语句进行编译,这样 DBMS 执行 sql 时,就不需要重新编译。Select * from emp where name = #{employeeName}Select * fr...

2019-09-24 20:29:00 55

转载 SpringMVC 拦截器原理

前言SpringMVC 拦截器也是Aop(面向切面)思想构建,但不是 Spring Aop 动态代理实现的,主要采用责任链和适配器的设计模式来实现,直接嵌入到 SpringMVC 入口代码里面。流程分析浏览器请求DispatcherServlet 执行调用 doService(request, response) 作为 Servlet 主要执行者,doService(req...

2019-09-24 13:58:00 187

转载 Spring容器对Bean组件的管理

Bean对象创建默认是随着容器创建可以使用 lazy-init=true:在调用 getBean 延迟创建也可以用 <beans default-lazy-init="true"/> 批量延迟创建Bean对象的创建模式默认是单例,可以使用scope属性改变。singleton:单例,每次调用getBean返回同一个对象prototype:原型,每次调用ge...

2019-09-24 09:13:00 213

转载 BeanFactory 和 ApplicationContext 区别

区别BeanFactory: Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能 BeanFactory在启动的时候不会去实例化Bean,中有从容器中拿Bean的时候才会去实例化ApplicationContext: 应用上下文,继承BeanFactory接口,它是Spring的一各更高级的容器,提供了更多的有用...

2019-09-23 20:31:00 68

转载 Spring IOC

前言IOC 全称为 Inversion of Control(控制反转),通过反射技术,将 Bean 注入 IOC容器,由 Spring IOC 容器来负责管理对象的生命周期和对象之间的依赖关系依赖注入(DI),就是由 IOC容器 在运行期间,动态地将某种依赖关系注入到对象之中依赖注入(DI)和控制反转(IOC)是从不同的角度的描述同一件事情:通过将 Bean 引入 IOC容器,利...

2019-09-22 10:51:00 87

转载 Spring AOP

AOP简介AOP: 面向切面,作为面向对象的一种补充, 用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块, 这个模块被命名为“切面”(Aspect), 减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。 可用于权限认证、日志、事务处理。AOP的关键单元是切面: AOP可以...

2019-09-21 21:03:00 64

转载 索引失效原因总结

复合索引使用左前缀(不要跨列或无序使用)建立了一个索引分别字段为 a b c: where a ... and b ... order by c,这种使用顺序就符合最佳做前缀,从左向右依次使用了索引 where b ... and a ... order by c,这样很明显顺序不对,并不满足最佳左前缀,从而导致了索引失效复合索引尽量使用全索引匹配: ...

2019-09-21 13:37:00 258

转载 MySQL 索引

概念索引是一种特殊的文件,它们包含着对数据表里所有记录的引用指针。在没有索引的情况下,数据库会遍历全部数据后选择符合条件的;有了相应的索引之后,数据库会直接在索引中查找出符合条件的选项。使用场景where order by join on(关联查询对数据库压力大,实际开发可能不用,采用单表查询)MySQL有两种方式可以实现ORDER BY: 1. ...

2019-09-21 11:57:00 62

转载 数据库连接池

JDBC方式操作数据库java应用程序访问数据库的过程:   ①装载数据库驱动程序;   ②通过jdbc建立数据库连接;   ③访问数据库,执行sql语句;   ④断开数据库连接。缺点: 每一次web请求都要建立一次数据库连接。建立连接是一个费时的活动,而且系统还要分配内存资源。 不能控制被创建的连接对象数,系统资源会被毫无顾及的分配出去,如连接...

2019-09-21 10:18:00 87

转载 JSP 隐含对象

JSP是Java Server PageJSP九大隐含对象request: HttpServletRequest 的一个实例,代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。response: HttpServletResponse的一个实例,代表是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端session: Ht...

2019-09-20 14:37:00 90

转载 Cookie 和 Session

CookieCookie具有不可跨域名性。在本地计算机保存一些用户操作的历史信息(包括登录信息),并在用户再次访问该站点时浏览器通过HTTP协议将本地cookie内容发送给服务器,从而完成验证。Cookie是有时间限制的,根据生命期不同分成两种: 会话Cookie: 不设置过期时间,一般不保存在硬盘上而是保存在内存里,关闭浏览器窗口,cookie就消...

2019-09-19 20:45:00 57

转载 Servlet(Server Applet) 详解

Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。Servlet的工作模式客户端发送请求至服务器服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器服务器将响应返回客户端Servlet 的工作原理 Servlet接口定义了Servlet与servlet容器之间的契约: Servlet容器将...

2019-09-19 19:42:00 741

转载 AbstractQueuedSynchronizer 详解

package java.util.concurrent.locks;基本介绍AbstractQueuedSynchronizer(队列同步器)可以看作是并发包(java.util.concurrent)的基础框架: JDK中许多并发工具类的内部实现都依赖于AQS,如ReentrantLock, Semaphore, CountDownLatch等。 AQS底层依...

2019-09-18 09:44:00 133

转载 ThreadLocal 详解

package java.lang;简介ThreadLocal提供了线程的本地副本,也就是说每个线程将会拥有一个自己独立的变量副本。对于同一个ThreadLocal,每个线程通过get、set、remove接口操作只会影响自身线程的数据,不会干扰其他线程中的数据。使用场景:在每个线程希望有一个独有的变量时,解决线程间隔离与线程内共享的问题内存泄漏ThreadLocal内存...

2019-09-17 20:06:00 124

转载 线程的生命周期

线程的生命周期包含5个阶段新建、就绪、运行、阻塞、终止新建(new Thread): 就是刚使用new方法,new出来的线程;就绪(Runnable): 就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行;运行(Running): 当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法...

2019-09-17 16:32:00 72

转载 HashSet 详解

基本介绍1. 不允许重复(底层是HashMap,用key储存元素,value统一都是 PRESENT),可以为null,无顺序2. HashSet就是为了提高查找效率的(在查找是否存在某个值时,ArrayList需要遍历才能确定某个值的位置,而HashSet可以通过HashCode快速定位)源码分析public class HashSet<E> extends Ab...

2019-09-17 15:01:00 86

转载 Linkedlist 详解

基本介绍Linkedlist基于链表的动态数组(双向链表): 可以被当作堆栈(后进先出)、队列(先进先出)或双端队列进行操作。 数据添加删除效率高,只需要改变指针指向即可,但是访问数据的平均效率低,需要对链表进行遍历。 非同步,线程不安全。 支持null元素、有顺序、元素可以重复 不要使用普通for循环去遍历LinkedList,使用迭...

2019-09-17 14:42:00 99

转载 ArrayList 详解

基本介绍ArrayList: 支持null元素、有顺序、元素可以重复。 可以动态增长和缩减的索引序列,基于数组实现的List类(查询效率高,而在插入删除性能下降很多(需要移动数组元素))。 底层的数据结构是数组,数组元素类型为Object类型,即可以存放所有类型数据。 removeAll(collection c)和clear()的区别就是rem...

2019-09-17 11:59:00 90

转载 HashMap 介绍

基本介绍1. 用于存储Key-Value键值对的集合(每一个键值对也叫做一个Entry)(无顺序)。2. 根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值。3. 键key为null的记录至多只允许一条,值value为null的记录可以有多条。4. 非线程安全。5. HashMap是由数组+链表+红黑树(JDK1.8后增加了红黑树部分,链表长度超过阈值...

2019-09-16 20:38:00 110

空空如也

空空如也

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

TA关注的人

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