自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ReentrantReadWriteLock

读写锁的例子,半个ConcurrentHashMapclass RWDictionary { private final Map<String, Data> m = new TreeMap<>(); private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(); ...

2018-07-13 16:28:36 113

原创 MYSQL索引

MYSQL常用索引 

2018-07-13 11:24:48 133

原创 ReadWriteLock读写锁

 public interface ReadWriteLock { /** * Returns the lock used for reading. * 返回一个读锁 * @return the lock used for reading */ Lock readLock(); /** * Retu...

2018-07-12 15:30:09 150

ReentrantLock互斥锁

public class ReentrantLock implements Lock, java.io.Serializable { private static final long serialVersionUID = 7373984872572414699L; // 内部类 private final Sync sync; //...

2018-07-12 15:14:20 132

原创 多线程Lock接口

public interface Lock { // 获取锁。调用该方法当前线程将会获取锁。当锁获取后,从该方法返回 void lock(); // 可中断的获取锁,和lock()方法的不同之处在于该方法会响应中断,既在锁的获取中可以终端当前线程 void lockInterruptibly() throws InterruptedExcepti...

2018-07-12 14:31:52 76

原创 双亲委派模型

双亲委派模型的工作过程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子类加载器才会尝试自己去加载。 protected Class<?> loadCla...

2018-07-06 14:05:58 71

原创 验证阶段

类验证阶段思维导图  

2018-07-06 11:57:35 161

原创 类的加载阶段

类的加载主要是把二进制文件转换为class对象  对于一个类来讲,加载主要根据双亲委派模型,保证了相等性.  数组加载直接在虚拟机中进行,不通过类记载其创建。 ...

2018-07-06 11:03:06 82

原创 类和接口初始化

类的初始化和对象的初始化时不同的。上面的图是类的初始化,接口的初始化没有静态代码块,而且在初始化时与类初始化有些差异。类在初始化的时候要求其父类全部已经初始化过了,但是接口只有真正使用父接口的时候才会初始化。 参考《深入理解Java虚拟机》...

2018-07-06 10:19:11 179

原创 面试三

1.所有的对象实例化都需要调用构造函数 ,个人为是对的,因为你new时候会调用,反射的时候也会调用默认的构造函数,克隆也会,因为构造函数就是为了防止属性不能正确初始化而设计的。2.public class A { static { System.out.println(" static a"); } { Syste...

2018-07-05 11:12:31 85

二分查找

使用while的方式进行查找 public static int binarySearch(int[] a, int key) { int low = 0; int high = a.length - 1; while (low <= high) { int mid = low + (high - low)...

2018-07-05 10:57:27 85

面试二

String a ="hello"; String b ="hello"; String c =new String("hello"); System.out.println(a==b); System.out.println(a==c); System.out.println(a==c....

2018-07-05 09:52:42 75

原创 搭建eureka集群

搭建三台eureka,修改/etc/hosts127.0.0.1 server1127.0.0.1 server2127.0.0.1 server3如果显示readonly的话,mac请使用root模式使用同一个jar包,外置yml优先级高于内置yml优先级编写yml文件,配置一server: port: 1111eureka: instance...

2018-07-03 15:25:21 152

原创 搭建单节点eureka

新建maven项目,然后在pom中加入依赖,参考springcloud网站,地址为https://projects.spring.io/spring-cloud/ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri...

2018-07-03 14:22:20 188

面试一

    1.mybatis插入时返回自增的主键<insert id="add" parameterType="EStudent" useGeneratedKeys="true" keyProperty="id"> insert into TStudent(name, age) values(#{name}, #{age})</insert>    2.

2018-07-03 09:45:51 76

原创 关于线程安全的一些小问题

 Person 类代码如下public class Person { private int age; private String name; public String getName() { return name; } public void setName(String name) { ...

2018-06-29 12:07:29 92

原创 线程公有

线程公有的区域主要包含Java堆内存,方法区,运行常量池 Java堆是被所有线程共享的一块内存区域,在虚拟机启动的时候创建。此内存区域的唯一目的就是存放对象实例。Java虚拟机规范描述:所有的对象实力以及数组都要在堆上进行分配。 方法区与Java堆一样,是各个线程共享的内存区域,它用于储存已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。 运行时...

2018-06-26 17:26:58 71

原创 线程私有

线程安全的策略如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误,有三种方式可以修复这个问题。1.不在线程之间共享该状态变量(虚拟机栈和Threadlocal)2.将状态变量修改为不可变的变量3.在访问状态变量时使用同步程序计数器由于线程具有时分的特点,所以需要一个东西来记录当前线程被切换前运行到了哪里?这就是程序计数器,等待切换回来的...

2018-06-26 16:01:36 101

Objects

 /**@since 1.7 */public final class Objects {......}1.7出现的工具类,final修饰类不可继承,这个类断子绝孙了。 private Objects() { throw new AssertionError("No java.util.Objects instances for you!");...

2018-06-15 16:02:07 100

elasticsearch更改分析器

废话不多说,直接上遇见的坑。 尽管可以增加新的类型到索引中,或者增加新的字段到类型中,但是不能添加新的分析器或者对现有的字段做改动。 如果你那么做的话,结果就是那些已经被索引的数据就不正确, 搜索也不能正常工作。对现有数据的这类改变最简单的办法就是重新索引:用新的设置创建新的索引并把文档从旧的索引复制到新的索引。字段 _source 的一个优点是在Elasticsearch中已经有整个文...

2018-06-06 10:14:02 1417

SpringBoot之Actuator

在pom中添加依赖  <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> &...

2018-01-11 16:43:47 71

springboot打war包遇到的那些坑

官方链接:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file 公司开发使用了Springboot,但是为什么我们还会打成war包呢,因为我们公司的运维做了钩子,只要有代码往master上合并,它会自动部署到对应tomcat下面,所以...

2017-11-18 23:54:43 3123

原创 spring-mybatis文件

编写mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-confi...

2017-10-22 19:19:36 74

原创 spring自带拦截器

代码来自Spring in action  165页在pojo上加入注解,个人认为这样编写工作量相当大,而且对代码侵入比较高。 public class Spitter { private Long id; @NotNull @Size(min=5, max=16) private String username; @NotNull...

2017-10-22 16:20:15 221

原创 springmvc中的编码过滤器

在web.xml中编写一下代码  <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <ini...

2017-10-19 22:43:28 556

原创 springmvc文件安全控制

对于jsp页面和静态资源文件不进行安全控制,则用户访问项根目录的时候,所有的数据都会呈现出列表的形式。所以需要将文件放到WEB-INF文件夹下,此时用户就无法访问,但是放到WEB-INF会太安全。外部无法访问,所以在Springmvc中支持映射,此处使用了视图解析器。 <bean class="org.springframework.web.servlet.view.Intern...

2017-10-18 21:37:33 144

原创 springmvc拦截器

拦截器源代码如下public interface HandlerInterceptor { boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception; void postHandle( HttpServlet...

2017-10-18 18:59:58 83

原创 转 springmvc配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.sprin

2017-10-18 18:31:10 59

原创 转 springmvc-web.xml配置文件

1、Spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2、在web.xml配置监听器ContextLoaderListener(listener-class) ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContext...

2017-10-18 18:03:00 65

原创 java算法面试题

请写出java代码,实现一下方法,计算对于数字100,共有多少种组合方法。(假设组合时可以使用的数字包括100,50,20,10,5,2,1),比如如果M为1,共有1中组合方法,即1*1个;如果M为2,则共有2种组合方式,2*1个 和1*2个;求出返回组合方法的个数。package org.son;public class Mytest { private static...

2017-10-17 12:49:41 113

原创 两个数组的归并

package org.son;import java.lang.String;import java.lang.System;import java.util.Arrays;public class Demo { public static void main(String[] args) { int[] a = { -1, 5, 9, 15, 85, 98...

2017-10-17 12:47:30 375

原创 几种常见的算法

冒泡算法for(int i=0;i<a.length;i++) { for(int j=i;j<a.length;j++) { if(a[j]>a[j+1]) { int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } 选择排序for(int i=...

2017-10-17 12:38:34 72

原创 linux安装jdk和tomcat

使用在线下载jdk或者使用工具上传到服务器解压文件tar xzvf /srv/ftp/jdk-8u73-linux-x64.tar.gz -C /usr/local/ 进行重命名mv /usr/local/jdk1.8.0_73/ /usr/local/jdk修改环境变量vim  /etc/profile export JAVA_HO...

2017-10-14 14:16:17 72

原创 配置ftp服务

上传文件,所以需要ftp服务在服务器上安装ftp apt-get install vsftpd 当ftp安装后会默认有一个ftp账户,修改ftp账户密码sudo passwd ftp-----------------------------------------------------------------------------------------------------...

2017-10-13 16:51:09 86

原创 linux配置时区和时间

 进行时区的选择tzselect------------------------------------------------------------------------------------------------------------Please identify a location so that time zone rules can be set correc...

2017-10-13 16:37:49 228

原创 linux软件安装

关闭防火墙 ufw disable卸载到防火墙apt-get remove iptables 安装常用依赖 apt-get install g++ gcc libpcre3 libpcrecpp* libpcre3-dev libssl-dev autoconf automake libtool nfs-kernel-server libnc...

2017-10-13 16:24:51 76

原创 配置ssh链接

更新当前的ubuntu系统  apt-get  update下载ssh开发工具 apt-get install openssh-server对配置文件进行修改 vim /etc/ssh/sshd-config允许root账户登陆  PermitRootLogin yes使用ps -ef | grep sshd 查找ssh进程编号;kill -9  pid    -9 属于强...

2017-10-13 16:13:16 64

linux配置字体和超级管理员

首先将linux使用的系统字体进行变更sudo dpkg-reconfigure console-setup  使用sudo passwd root root@base:~# sudo passwd rootEnter new UNIX password: 密码Retype new UNIX password: 密码passwd: passw...

2017-10-13 16:05:18 207

原创 java url与httpclient

使用java客户端访问网站是程序猿必备的技能,java默认的包java.net就有支持 package Http.client;import java.io.InputStream;import java.net.URL;import java.util.Scanner;/** * 类说明 使用官网的net类进行测试 * * @author rfk...

2017-10-12 22:12:42 256

原创 springboot整合redis

redis的数据库在java里面提供的官网工具包为jedis,在springboot中依然使用此包。在pom文件中加入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-...

2017-10-11 19:26:37 69

空空如也

空空如也

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

TA关注的人

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