自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (3)
  • 收藏
  • 关注

原创 JDK动态代理原理

本文参考自http://www.cnblogs.com/liuyun1995/p/8144628.html不知道可以先回顾一下这么使用JDK的动态代理用法https://blog.csdn.net/qiuwenjie123/article/details/79330255Proxy类的静态方法newProxyInstance方法去生成一个代理类,这个静态方法接收三个参数,分别是目标类的类加载器,目...

2018-05-24 15:58:44 343

转载 读Socket流时产生阻塞的解决方案

原文地址:https://www.cnblogs.com/qhyuan1992/p/5385289.html在用socket写一个服务器时遇到了问题于是将主要的问题抽了出来,代码如下,由于代码很简单于是也没有注释。public class Main { private static ServerSocket serverSocket; private final s...

2019-06-23 15:38:25 912

原创 双节棍字符串

输入一串字符串,找出里面的最长的“双节棍”字符串双节棍字符串   :   形如   “aaa....bb....aaa”    左右两端为相同的字符,且数量相等,中间为另一重复的字符串比如  输入      AAABDDDKDDDL         输出DDDKDDD  public static String get(String s){ char[] c=s...

2018-09-15 12:37:40 614

原创 二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 方法一:非递归版解题思路:1.核心是中序遍历的非递归算法。2.修改当前遍历节点与前一遍历节点的指针指向。 import java.util.Stack; public TreeNode ConvertBSTToBiList(TreeNode ...

2018-09-11 21:52:19 270

原创 leetcode三数之和等于0(去重)

题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]] ja...

2018-09-07 23:37:43 2306

转载 springboot在Linux后台运行

首先需要进到自己springboot项目的根目录,然后执行如下linux命令nohup java -jar 自己的springboot项目.jar >日志文件名.log 2>&1 &命令详解:nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。>日志文件名.log:是nohup把command的输出重定向到当前目录的指定的“日志文件名.l...

2018-08-23 17:48:40 752

转载 Cglib及其基本使用

原文地址:https://www.cnblogs.com/xrq730/p/6661692.html Cglib是什么Cglib是一个强大的、高性能的代码生成包,它广泛被许多AOP框架使用,为他们提供方法的拦截。下图是我网上找到的一张Cglib与一些框架和语言的关系:对此图总结一下:最底层的是字节码Bytecode,字节码是Java为了保证“一次编译、到处运行”而产生的一种...

2018-08-20 17:28:56 435

转载 windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码

http://blog.csdn.net/hexin373/article/details/8846919 我的一个Java程序偶尔会出现cpu占用很高的情况一直不知道什么原因今天终于抽时间解决了系统是win2003  jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线程分别占用的cpu呢所以在windows平台上要找出到底是哪...

2018-08-09 17:06:04 229

转载 mysql安装常见问题(系统找不到指定的文件、发生系统错误 1067 进程意外终止)

鉴于经常会用到mysql,而每次重装都会遇到这样那样的麻烦,故转载此文章。原文地址:https://blog.csdn.net/mhmyqn/article/details/17043921/在安装mysql时总是会遇到这样那样的问题,每次重新安装都会花很多时间来排查。在网上其实有很多相关的文章,但很多都只讲了方法,但没讲具体细节问题,导致无法解决问题。其实有时候知道问题的原因,但总是因为...

2018-08-06 19:20:43 729

转载 AOP中的概念通知、切点、切面、

原文:https://blog.csdn.net/u013782203/article/details/517994271、为什么要用AOP1)就是为了方便,看一个国外很有名的大师说,编程的人都是“懒人”,因为他把自己做的事情都让程序去做了。用了AOP能让你少写很多代码,这点就够充分了吧。2)就是为了更清晰的逻辑,可以让你的业务逻辑去关注自己本身的业务,而不去想一些其他的事情。这些其他的事情包括:...

2018-07-13 08:48:35 2108

原创 js中全局变量和异步(ajax)调用一起使用会遇到的问题

今天使用ajax时遇到一个很奇怪的问题,代码如下:layer.confirm('真的删除行么', function(index){ var flag; //向服务端发送删除指令 $.get("delBlogType",{ ...

2018-06-23 17:28:33 3540

转载 Mybatis通用Mapper介绍与使用

前言使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。这时,通用Mapper便应运而生……什么是通用Mapper通用Mapper就是为了解决单表增删改查,基于Myba...

2018-05-28 16:34:23 592

转载 SpringBoot 3.SpringBoot 整合 MyBatis 逆向工程以及 MyBatis 通用 Mapper

原文地址:https://www.cnblogs.com/rcddup/p/7530401.html一、添加所需依赖,当前完整的pom文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati...

2018-05-27 23:39:51 566

原创 IDEA中使用Mybatis的逆向工程提示说找不到配置文件generatorConfig.xml的问题

我在Project中建立一个Module,本是用来使用Mybatis的逆向工程的我的文件结构如下我在module 也就是“nixianggongcheng”这个文件夹下又新建了一个lib文件夹用来保存逆向工程需要的jar包,然后也在project structure里面导入了这些jar包到module里。但是当我启动逆向工程的GeneratorSqlmap的main方法时,却总是提示说找不...

2018-05-27 22:47:25 17329 11

转载 thymeleaf模板-入门级用法

自从来公司后都没用过jsp当界面渲染了,因为前后端分离不是很好,反而模板引擎用的比较多,thymeleaf最大的优势后缀为html,就是只需要浏览器就可以展现页面了,还有就是thymeleaf可以很好的和spring集成.下面开始学习.1.引入依赖maven中直接引入 <dependency> <groupId>org.springframework.bo...

2018-05-25 16:50:38 291

原创 IDEA上部署应用到Tomcat上的问题

在菜单的这个位置处可以配置tomcat在Application context处配置他的路径,如/ssmcar的话,应用就会部署在Tomcat的webapp文件下的ssmcar加入不配置这个路径的话,默认是/路径,应用就会部署在Tomcat的webapp文件下的ROOT这样当你在浏览器中打开localhost:8080就可直接访问到这个项目,不需要在URI处写项目名称。...

2018-05-24 23:31:05 431

原创 java实例化顺序

1.继承没有的情况单独一个类的场景下,初始化顺序为依次为静态数据,继承的基类的构造函数,成员变量,被调用的构造函数。其中静态数据只会初始化一次。(静态数据包括静态代码块和静态变量,每个类的静态数据只会初始化一次)继承的情况添加两个基类,让继承父亲,父亲继承祖父。继承的情况就比较复杂了。由继承了基类,还将往上回溯,递归地调用基类的无参构造方法。在我们的例子中,在初始化静态数据后,会先往上追溯,调用父...

2018-05-20 23:00:13 2781

翻译 设计模式之模板方法模式

模板方法模式:定义一个算法中的操作框架,而将一些步骤延迟到子类中。使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。(Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine cert...

2018-05-03 13:01:26 165

转载 基于Token的WEB后台登录认证机制分析

本文转载自:https://www.cnkirito.moe/2018/04/20/jwt-learn-3/介绍:JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。下面场景引用自:https://mp.weixin.qq.com/s/rLrYsGhnf_iZrMTSDvkqxA让我们来假想一下一个场景。在A用户关注了B用户的...

2018-05-01 17:53:11 832

原创 Java对于修改Integer变量值的问题

对于Integer变量来说,比较变量值常见情形如下:Integer a = 1000; Integer b = 1000; Integer c = 100; Integer d = 100; System.out.println(a == b); System.out.println(c == d); “==”比较的是地址的值,所以正确...

2018-04-30 23:58:05 10568 8

原创 二叉树层序输出

输出每一层的最大值/************ 只打印每一层的最大节点 ************/ public void printBiggest(Queue<Twotree> queue){ Iterator iterator=queue.iterator(); int max=Integer.MIN_VALUE; w...

2018-04-28 23:12:46 942

原创 二叉树中和为某一值的路径

/************* 寻找路径 **************/ public void printPath(Twotree head,int exceptnum){ if (head==null) return; ArrayDeque<Twotree> path=new ArrayDeque<>()...

2018-04-28 23:10:37 148

原创 leetcode-翻转整数

题目描述:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。方法:不断求余和乘以十,注意溢出。代码:public cla...

2018-04-27 22:26:39 230

原创 leetcode——z字形变换

题目:将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:(下面这样的形状)P A H N //0号数组A P L S I I G //1号数组Y I R //2号数组之后按逐行顺序依次排列:"PAHNAPLSIIGYIR" 实现一个...

2018-04-24 21:49:35 555

转载 Session是怎么实现的?存储在哪里?

目录目录前言为什么有session如何实现session的共享SESSION 的数据保存在哪里呢PHP中的session存储Java中的session存储博主注前言  文章内容转载或摘录自,如下文章。最后将在文末【博主注】这一部分,指出一些需要注意的地方。阿里面试题————-session是怎么实现的?存储在哪里?SESSION 的数据保存在哪里呢?sessionid如何产生?由谁产生?保存在哪里...

2018-04-24 12:29:18 578

原创 基于词典的正向最大匹配算法(最长词优先匹配)

public Set<String> matchChinese(String text, Set<String> dictionary, int maxLength) { //text:待匹配文本 dictiona:词典 maxLength:词典中最长词长度 Set<String> result=new HashS...

2018-04-23 22:49:18 3033

原创 队列同步器(AQS)详解-源码分析续——Condition接口

简介:       我们知道,任何对象都可以作为监视器,而监视器都有wait()方法和notify()、notifyAll()等方法,而Condition接口也有类似的方法,如await()、signal()和signalAll()方法,他们的作用和监视器大同小异。在AQS中,有一个内部类ConditionObject,他就实现了Conditon接口。Condition接口与监视器的区...

2018-04-23 21:06:21 321

转载 String类的常用方法

一、String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。二、String类对象的创建字符串声明:String stringName;字符串创建:stringName = new String(字符串常量...

2018-04-22 23:46:19 232

转载 JVM的新生代、老年代、MinorGC、MajorGC(Full GC)

JVM的新生代、老年代、MinorGC、MajorGC参考资料:http://blog.csdn.net/flamezyg/article/details/44673951http://www.blogjava.net/ldwblog/archive/2013/07/24/401919.htmlhttp://www.360doc.com/content/12/1023/16/961...

2018-04-19 20:24:03 1506

原创 队列同步器(AQS)详解源码分析

队列同步器(AQS)简介:      AbstractQueueSynchronizer,用来构建锁和其他同步组件的基础框架,使用一个int型变量来表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。       我们可以这么理解,锁是面向使用者的,即我们可以用锁来完成多线程处理的一些问题,而隐藏了实现的细节,而同步器面向锁的实现者,它简化了锁的实现方式,屏蔽了同步状态管理,...

2018-04-17 19:08:33 1228

原创 二叉树深度优先和广度优先的两种遍历方式

一、二叉树的深度优先遍历这种分类下,根据访问根节点的顺序,有先序,中序和后序遍历三种而这每一种遍历方式又分为递归和循环的两种方式递归的方式public class BinaryTree { /** * 二叉树的先序中序后序排序 */ public Node init() { //这里是建立一个二叉树的操作,就略过了 } ...

2018-04-08 17:00:43 545

原创 Java中常用的Date类型

java中常用的日期类估计就是Date类当我们新建一个Date对象并打印时,输出是这样的Date date =new Date(); //Sat Apr 07 23:12:52 CST 2018System.out.println(date);Sat是星期六,Apr是月份,CST是时区当我们对输出格式有要求时,会用到SimpleDateFormat这个类用法大概是这样Date dNow = n...

2018-04-08 00:19:27 18144

转载 SpringMVC整合Shiro

完整版见https://jadyer.github.io/2013/09/30/springmvc-shiro/这里用的是SpringMVC-3.2.4和Shiro-1.2.2,示例代码如下首先是web.xml[html] view plain copy<?xml version="1.0" encoding="UTF-8"?>  <web-app version="2.5"  ...

2018-04-07 00:50:53 411

转载 IntelliJ IDEA导入多个eclipse项目到同一个workspace下

IntelliJ IDEA 与eclipse在新建项目上工作区的叫法略有不同,区别见下图。我们在eclipse都是在新建的workspace目录下新建我们的项目,但是在IDEA中没有workspace这个概念,IDEA中的项目就相当于eclipe中的workspace,那么问题来了,我一般在eclipse下的一个工作空间中建立多个相关的小项目(并非一个大项目的多个模块),比如说我写了好多接口项目,...

2018-04-03 10:31:52 554

原创 java的直接缓冲和非直接缓冲区

在我们讨论java的内存模型时,和讨论java的NIO时都会涉及到直接缓冲和非直接缓冲区这个概念(主要是直接和非直接)在java的内存模型中https://blog.csdn.net/qiuwenjie123/article/details/79200509会有堆和直接内存这个概念,堆就存在于jvm的内存之中,而直接内存则是不属于与jvm的工作内存之中,相当于另外的内存而在NIO中https://...

2018-04-02 22:04:30 3019

原创 Spring事务管理使用详解

1、Spring关于事务管理所定义的三个接口PlatformTransactionManager平台事务管理器TransactionDefinition事务定义信息(隔离、传播、超时、只读)TransactionStatus事务具体运行状态(是否是新的事务,设置是否回滚)2、接口的分析(1)、下面是一些常用的平台事务管理器(PlatformTransactionManage)的实现类(2)、事务的...

2018-03-30 21:44:55 491

转载 IO 与 NIO还有NIO2 :同步异步的区别

阻塞概念:应用程序在获取网络数据的时候,如果网络传输数据很慢,那么程序就一直等着,知道传输完毕为止。非阻塞概念:应用程序直接可以获取到已经转备好的数据,无需等待。IO为同步阻塞形式,NIO为同步非阻塞形式、NIO并没有实现异步,在JDK1.7之后,升级了NIO库包,支持异步非阻塞通信模型即NIO2.0(AIO)同步与异步: 同步与异步一般是面向操作系统和应用程序对IO操作的层面上来区别的。同步时:...

2018-03-24 14:20:52 4298

原创 通过一个简单的数据库连接池分析一下“等待超时模式”

场景描述:开发人员经常会遇到这样的方法调用场景:调用一个方法时等待一段时间(一般来说是给定一个时间段),如果该方法能够在给定的时间段之内得到结果, 那么将结果立刻返回, 反之,超时返回默认结果。·等待持续时间: REMAINING=T。·超时时间: FUTURE=now+T。这时仅需要wait(REMAINING)即可, 在wait(REMAINING)返回之后会将执行:REMAINING=FUT...

2018-03-12 01:33:45 1481

原创 多线程中wait(),notify()和notifyall()方法的含义

在“synchronized(obj){··········}”这个同步块中,obj对象叫做监控器,只有持有监控器这个对象的锁时才会执行同步块中的内容Java中的线程的生命周期大体可分为5种状态。1. 新建(NEW):新创建了一个线程对象。2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选...

2018-03-12 01:02:06 3159

原创 happen-before原则

1) 程序顺序规则: 一个线程中的每个操作, happens-before于该线程中的任意后续操作。2) 监视器锁规则: 对一个锁的解锁, happens-before于随后对这个锁的加锁。3) volatile变量规则: 对一个volatile域的写, happens-before于任意后续对这个volatile域的读。4) 传递性: 如果A happens-before B, 且B happe...

2018-03-11 14:59:51 198

Orange'S一个操作系统的实现

《一个操作系统的实现》是2009年电子工业出版社出版的图书,作者是于渊。本书从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。 这个是高清的扫描版,带有完整的目录书签,不会像其他人那些都是骗子,压根不是高清的,也是我花了银子买的,你们对比下文件大小就知道了

2019-01-04

支撑处理器的技术

完整版的,自带书签的,无阉割,主要讲的是cpu以及cpu外围的设备的基本知识,可以帮助入门了解计算机

2018-12-11

聚集索引与非聚集索引的区别

一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。   聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。

2017-12-28

空空如也

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

TA关注的人

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