自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MAC终端SSH远程掉线

在MAC环境下使用终端远程连接服务器,长时间会自动断开。可以通过修改MAC和服务端配置,让服务器ssh每隔一段时间给MAC客户端发送一次信号,维持连接,具体配置如下:MAC客户端# 打开配置文件vi ~/.ssh/config# 添加配置, 60s向服务端请求一次ServerAliveInterval = 60# 设置文件权限chmod 600 ~/.ssh/config服务端...

2019-05-05 13:41:20 1155

原创 计算机网络OSI模型简介

应用层所有能和用户产生网络流量的程序。表示层用于处理在两个系统中交换信息的表达方式(语法和语义)。数据格式变换数据加密解密数据压缩和恢复会话层向表示层实体/用户进程提供建立连接并在连接上有序的传输数据。整个过程就是会话,也是建立同步(SYN)。建立、管理、终止会话使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步传输层负责主机中两个进程的通信,...

2019-03-28 15:33:40 354

原创 深入理解计算机系统笔记二:信息的表示和处理

1 信息存储  大多数计算机使用8位的块,或者字节,作为最小的可寻址的内存单位,而不是访问内存中的单独的位。1.1 十六进制表示法  将二进制每三位化为十六进制表示,十六进制使用‘0-9’以及‘A-F’表示,具体如下:1.2 字数据大小  每台计算机都有一个字长,知名指针数据的标称大小。因为虚拟地址是以这样的一个字来进行编码的,字长决定了虚拟地址空间空间的最大大小。对于一个字长为w位的机...

2019-03-23 14:33:50 291

原创 深入理解计算机系统笔记一:计算机系统漫游

1.程序是怎样跑起来的?  程序的生命周期是从一个源程序开始,源程序实际上就是一个由值0或者1组成的位序列,8个位被称为1字节,每个字节表示某些文本字符(大部分现代计算机系统都是用ASCII标准来表示文本字符),一个字节代表一个整数值,与ASCII码表的字符一一对应。像是hello.c这样的文件就是由ASCII字符构成的文本文件,除此之外,其他的都称为二进制文件。  为了在程序上运行hello...

2019-03-22 20:58:59 156

翻译 Sping官方文档:Spring Core

1.Ioc 容器1.1.Spring Ioc容器和Bean的简介  本文介绍了控制反转(Ioc)原理的实现。Ioc也被称为依赖注入(DI)。对象定义它的依赖,主要直接通过构造函数参数和工厂方法参数,或者是通过已经被构造的或者弓藏方法返回的实例设置属性(实际上就是通过构造方法、钢厂方法和set方法来定义依赖),然后在容器创建bean时注入依赖。这个过程实际上是反转控制,直接通过类的构造方法或者类...

2019-03-11 16:52:12 287

转载 ConcurrentashMap源码解读(JDK1.7与JDK1.8)

此处推荐一篇优秀博客

2019-01-14 00:53:13 123

原创 计算机网络之传输方式的分类

面向有连接型和面向无连接型面向有连接型中,在数据发送之前,需要在收发主机之间建立连接。通信完成后断开连接。面向无连接型不要求建立和断开连接,发送端可以在任何时候自由发送数据。电路交换和分组交换电路交换中交换机主要负责数据的中转处理,建立的一条连接只能两个用户通信。传输速度不会变。分组交换是将数据按照一定的顺序分组发送给交换机,再由交换机发出,期间交换机(路由器)会先缓存到自己的缓冲...

2019-01-10 13:52:26 3520

原创 计算机网络之OSI七层模型

应用层添加首部信息包括源、目标,数据内容。主要作用是为应用程序提供服务并规定应用程序中通信相关的细节。常见协议:HTTP、FTP、SMTP等。表示层添加首部信息为编码格式。设备固有格式和网络标准数据格式的转换。会话层添加首部或标签记录着数据的传送顺序信息。决定采用何种连接方法是会话层的主要责任,负责建立和断开连接。管理传输层以下的分层。传输层添加首部记录源端口和目的端口,还会记录其他...

2019-01-10 02:04:06 213

转载 java的中断

中断可以理解为线程的标识位属性,它表示一个线程是否被其他线程执行了中断操作。线程通过方法isInterrupted()来判断线程是否被中断,也可以调用Thread.interrupted()对当前线程的中断标识位进行复位。如果该线程处于终结状态,即使它被中断过,在调用该线程对象的isInterrupted()方法依然会返回false。而且java的API中许多声明可以抛出InterruptedEx...

2019-01-09 00:02:00 352

转载 线程状态

java线程运行中可能处于以下六种状态:NEW : 初始状态,线程被构建,但是还没有调用start()方法。RUNNABLE : 运行状态,JAVA线程将操作系统中的就绪和运行两种状态笼统的称作“运行中”。BLOCKED : 阻塞状态,表示线程阻塞于锁。WAITING : 等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)。TIME-W...

2019-01-08 23:39:23 108

转载 Kafka的在Centos上的安装

转载他人博客

2019-01-08 22:44:04 144

原创 双重检查锁定和延迟初始化

双重检查锁定的由来在多线程程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销。首先提给出延迟出事化对象的示例代码:public class UnsafeLazyInitialization{ private static Instance newInstance; public static Instance getInstance(){ ...

2019-01-07 20:53:51 144

原创 整合Elasticsespringboot,JPA与elasticsearch整合测试用例

此链接为别人简书文章

2019-01-01 23:13:56 366

原创 全文搜索和ElasticSearch

全文搜索概念全文搜索是一种将文件中所有文本与搜索项匹配的文字资料检索方法。实现原理建文本库 -》建立索引 -》执行搜索 -》过滤结果全文搜索实现技术基于java的开源实现LuceneElasticSearch,基于Lucene,在分布式中中有较好的支持,支持json,实时搜索表现好。Solr,需要第三方来支持分布式,支持数据格式多,支持的功能更多,普通业务表现整体比较好。E...

2019-01-01 19:36:46 169

原创 Spring JPA集和Mysql集成

配置# 数据源 Mysqlspring.datasource.url=jdbc:mysql://localhost/blog?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.password=123456sprin...

2019-01-01 05:59:02 222

原创 git新建分支并push到远程仓库

git branch //查看当前分支git checkout -b v1 //创建本地分支并切换到新创建的分支,这里分支的名称就是v1git push -u origin v1 //将本地的分支与远程仓库的分支进行关联...

2019-01-01 04:24:23 3145

原创 H2的安装与在Spring Boot环境下集成

下载与安装下载地址:http://www.h2database.com/html/main.html下载后解压,然后在解压后文件夹中找到 bin/h2.bat 文件,点击,出现如下界面说明安装成功。Spring boot 集成maven依赖如下 <!--h2--> <dependency> <groupId&

2019-01-01 04:19:52 916

原创 Spring Data JPA基本认识和在Spring Boot下的集成

什么是JPAJPA(Java Persistemce API)是用于管理Java EE和Java SE环境中持久化,以及对像/关系映射的Java API实现:EclipseLink、Hibernate、Apache OpenJPA等。JPA核心概念实体实体表示关系型数据库中的表。每个实体实力对应于该表中的行。类必须用javax.persistence.Entity注解。类必须...

2019-01-01 03:58:28 133

原创 Thymeleaf页面编写变量报错

idea在thymeleaf页面编写变量,如${userModel.userList}会抛出错误,网上一些解决办法为ctrl + enter添加注入注释,觉得稍为繁琐,而且变量多的话代码看起来很不整洁,所以选择直接关掉了thymeleaf的检测。如下,将黄色圈处的勾取消...

2018-12-31 22:40:29 1120

原创 排序算法:O(Nlog(N))

1.归并排序 O(Nlog(N))归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。具体过程可参照下图:代码如下: /** * @param arr 待排...

2018-12-27 23:37:41 1012

原创 常见排序算法:O(N²)

github已上传相关源码1.冒泡排序比较两个相邻的元素,将值大的元素交换至右端。第一趟排序后,最后一个元素就是最大的,然后再次遍历[0,n-1],这一趟排序倒数第二位就是剩下的元素李最大的,重复遍历,直到剩下一个元素时,就获得排序好的数组。代码如下: /** * @param arr 待排序数组 * @param n 数组长度 */ publi...

2018-12-25 16:47:54 599

原创 并发模拟工具

Postman : HTTP请求模拟工具。Apache Bench(AB):Apache附带的网站性能测试工具。JMeter :Apache组织开发的压力测试工具。

2018-12-24 00:41:39 425

原创 工具篇

IDEA.ignore:用IDEA在提交项目到本地仓库的时候,会把.idea文件夹中的内容也提交上去,这里面放的是一些项目的配置信息,包括历史记录,版本控制信息等。可以不传到Git上面去。 这个时候就需要编写.gitignore文件来忽略提交这些文件。在IDEA中有一个插件.ignore可以帮我们做这件事。...

2018-12-23 23:56:48 75

原创 本地项目上上传到github

打开Github网站进入仓库管理新建仓库仓库命名Test仓库创建成功确认电脑上安装了git,没有安装的,就去安装git本地新建Test文件夹右击Test文件夹根目录,点击“Git Bash Here”,打开git命令行输入“git add .”(不要漏了“.”),将Test文件夹全部内容添加到git。输入“git commit -m “提交信息””输入“git remote ...

2018-12-17 16:06:16 106

原创 JDK源码阅读之Object

package java.lang;/** * {@link Object}对象是类结构层次的根,每个类都会以Object类作为父类(就算是没有指定也会默认Object为父类)。包括数组在内,都会实现Object的所有方法。 * @author unascribed * @see java.lang.Class * @since JDK1.0 *//** ...

2018-11-19 01:07:11 117

原创 建立spring boot项目后启动报错

Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider...

2018-11-14 16:03:22 1127 1

原创 java.lang.IllegalStateException: Failed to load ApplicationContext

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'person' defined in file [D:\mydemo\Spring\Spring\target\classes\pojo\Person.class]: Unsatisf...

2018-11-10 23:03:50 419

原创 JMS的基本概念

1.JMS基本概念JMS是什么JMS: Java Message Service,Java消息服务,是Java EE中的一个技术。JMS规范JMS定义了Java中访问消息中间件的接口,并没有机遇实现,实现JMS接口的消息中间件成为JMS Provider,例如ActiveMQ。JMS Provider实现JMS接口和规范的消息中间件。JMS message1.消息头:每个消...

2018-11-09 23:02:34 155

原创 Spring 通过构造方法注入导致的循环依赖问题

如果你主要使用构造函数注入,则可以创建无法解析的循环依赖关系场景。例如:类A通过构造函数注入需要类B的实例,而类B通过构造函数注入需要类A的实例。如果将A类和B类的bean配置为相互注入,则Spring IoC容器会在运行时检测此循环引用,并抛出a BeanCurrentlyInCreationException。一种可能的解决方案是编辑由setter而不是构造函数配置的某些类的源代码。或...

2018-11-08 23:22:48 3897

原创 Spring 集成 Junit

1.引入依赖<!-- https://mvnrepository.com/artifact/org.springframework/spring-test --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-test&l...

2018-11-08 22:33:51 155

原创 Prohibited package name: java异常原因

java.lang.ClassLoader.preDefineClass这个类对运行的类名做了检查,如果以“java”作为1级包名的话,则会抛出异常:Prohibited package name: java。修改包名或者java不做1级报名就可以解决。...

2018-11-08 22:12:35 6925

原创 IDEA 工具篇

翻译插件:ECTranslation

2018-11-07 22:47:09 111

原创 maven项目编译打包后启动tomcat失败

项目maven隔离后,编译打包,启动tomcat失败,找不到数据库配置文件,可在pom.xml加入以下配置 <resource> <directory>src\main\resources</directory> <includes> <include>**/*.prop...

2018-08-23 01:23:18 1345

原创 java多态的原理:静态分派和动态分派

1.静态分派所有依赖静态类型来定位方法执行版本的分派动作(Parent p=new Son();左边的Parent就是变量的静态类型,或者外观类型)。静态分派发生在编译阶段,重写(overload)是典型例子。编译器在编译期并不知道对象的实际类型,实际类型只有在运行期才知道。当方法的输入参数是字面量的时候,你有多个版本的重载方法,编译期可以确定的方法不是唯一的,例如你的输入参数为‘x’,如果重载方...

2018-07-15 16:16:06 423

原创 编译期可知,运行期不可变的方法

主要包括静态方法和私有方法两类,前者与类型直接相关,后者在外部不可被访问,两种方法各自的特点决定了它们不可能通过继承或别的方式重写其他版本,他们都适合在类的加载阶段进行解析。...

2018-07-15 14:53:25 397

原创 java:局部变量的初始化

类变量有两次赋初始值的过程,一次在准备阶段,赋予系统初始值(如果被final修饰,初始值可能不是0或者null,false),另外一次在初始化阶段,赋予程序员定义的初始值,但是局部变量不一样,系统不会赋予初始值,除非你在自己的程序中赋予它初始值。...

2018-07-15 00:51:42 2560

原创 String的intern()方法

@Test public void test() { String str1=new StringBuilder("计算机").append("软件").toString(); System.out.println(str1.intern()==str1); String str2=new StringBuilder("ja").append("va").toString()...

2018-07-03 01:05:01 150

原创 jdk安装

一、下载jdk这里我选择的是Java SE Development Kit 8链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html二、安装jdk点开下载好的安装文件,如果需要可以安装位置注意:安装所在的文件夹不要命名为中文,否则安装过程中会报错。三、配置环境变量点击 计算机→属性...

2018-06-24 14:45:42 87

原创 Spring学习2

1.使用注解配置spring1>需要为主配置文件引入新的命名空间约束并导入aop包2>开启使用注解代理配置文件<!-- 指定扫描com.bean包及其子包下的所有类中的注解--><context:component-scan base-package="com.bean"></context:component-scan>3>在类中使用注解完...

2018-06-23 13:04:30 119

原创 Spring学习1

1.Spring概述以及为什么要学习SpringSpring 就是一个大工厂,可以将所有对象创建和依赖关系维护,交给 Spring 管理AOP 编程的支持Spring 提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能声明式事务的支持只需要通过配置就可以完成对事务的管理,而无需手动编程方便程序的测试Spring 对 Junit4 支持,可以通过注解方便的测试 Spring 程序方便...

2018-06-21 13:06:36 132

空空如也

空空如也

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

TA关注的人

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