自定义博客皮肤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)
  • 收藏
  • 关注

转载 Spring线程安全问题

原文出处: SylvanasSunSpring与线程安全Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。例如,一个scope为singleton的bean,在第一次被注入时...

2018-05-14 09:48:14 12020

转载 redis对象之字符串对象

字符串对象有三种编码方式第一种编码方式int 第二种编码方式raw 第三种编码方式embstr 如果字符串对象保存的是一个字符串值,并且这个字符串值的长度小于等于39个字节,那么字符串对象将使用embstr编码的方式来保存这个值。使用embstr编码的字符串对象来保存短字符串值有以下好处:embstr编码将创建字符串对象所需的内存分配次数从raw编码的二次降...

2018-05-03 21:37:59 11927

原创 leetcode 97 Interleaving String

题目描述: Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.Example 1:Input: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac” Output: true Example 2:Input: s1 = “aabcc”, s...

2018-05-03 13:16:34 11819

原创 Leetcode72 edit Distance动态规划

题目描述: Given two words word1 and word2, find the minimum number of operations required to convert word1 to word2.You have the following 3 operations permitted on a word:Insert a character Delete ...

2018-05-03 10:46:05 11825

转载 Redis之链表

Redis链表包含二个结构体//链表节点 双端struct listNode{ struct listNode *prev; struct listNode *next; void *value;}//使用list结构来操作链表,获取链表的一些属性,无需遍历链表struct list{ //链表头结点 listNode *head; //链表...

2018-04-28 10:22:18 11662

转载 Redis之简单动态字符串(SDS)

简单动态字符串SDS(Simple Dynamic String)//SDS数据结构如下struct sdshdr{ //len用来记录buf数组中已使用字节的数量 //等于SDS所保存字符串的长度 int len; //记录buf数组中未使用字节的数量 int free; //字节数组,用于保存字符串 char buf[];}...

2018-04-28 10:06:48 11811

转载 获取textarea文本框的值

获取textarea文本框的值的二种方法<textarea id="demo"></textarea><script> //方法一 var value=document.getElementById("demo").value; //方法二 前提要引入jquery var value=$("#demo").val();&

2018-04-26 23:25:33 35221

转载 @Component注解有什么作用----Springboot

用一句话概括:被@Component注解标识的类,会被纳入Spring容器中统一管理,好处是什么?一句话概括:你不用自己new了!嘿嘿嘿

2018-04-24 20:53:49 15587

转载 延时加载原理解析----代理模式

代理模式代理模式是一种应用非常广泛的设计模式,当客户端代码需要调用某个对象时,客户端实际上也不关心是否准确得到该对象,它只要一个能提供该功能的对象即可,此时我们就 可返回该对象的代理(Proxy)。在这种设计方式下,系统会为某个对象提供一个代理对象,并由代理对象控制对源对象的引用。代理就是一个 Java 对象代表另一个 Java 对象来采取行动。在某些情况下,客户端代码不想或不能够直接调用...

2018-04-24 20:32:04 12034

转载 Mybatis日志模块--适配器模式

Mybatis日志模块采用了适配器模式,在JAVA开发中,常用的日志框架有Log4j、Log4j2、java.util.logging、slf4j等,这些工具对外的接口不尽相同,为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层使用。public interface Log{ void debug(String s); ...}import or...

2018-04-24 16:42:28 12342

转载 Spring IOC有什么好处? 最生动的解释,保证你能懂

解答借鉴于知乎的一位用户,@Sevenvidia要了解控制反转(Inversion of Control),我觉得有必要先了解一下软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle)。什么是依赖倒置原则? 定义:高层模块不应依赖底层模块,二者都应该依赖于抽象;抽象不应该依赖于细节;细节应该依赖于抽象。 核心思想:面向接口编程问题由...

2018-04-24 11:20:51 16497 2

转载 cookie用法小结--cookie.setPath()

cookie用法小结 cookie.setPath 跨域共享 1. JSP中Cookie的读写 Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息。Cookie还有一些附加信息,比如域名、有效时间、注释等等。 下面是一个jsp中写入读取Cookie的测试:在顶级域名中写入Cookie,在子域名中读取,目的是实现一个分布系统的单点登录。 两个j...

2018-04-17 22:29:01 17854

转载 SQL语句中中LIMIT的用法

假设有这么一张表名叫ids,只有id一列:id---12345......197198199200执行SELECT * FROM ids LIMIT 10, 1输出:id---11执行SELECT * FROM ids LIMIT 10, 3输出:id---111213执行SELECT * FROM ids LIMIT...

2018-04-14 17:47:35 20507

原创 spring与Mybatis集成

第一步:application.properties增加spring配置数据库链接地址具体配置如下:spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=falsespring.datasource.username=root...

2018-04-14 16:37:19 11730

原创 leetcode 35 Search Insert Position

题目描述: Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no duplicates in the a...

2018-04-09 19:28:14 11717

原创 leetcode 25. Reverse Nodes in k-Group

题目描述如下: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the numb

2018-04-09 16:14:57 11768

原创 Leetcode 42题 Trapping Rain Water

题目如下: Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given [0,1,0,2,1,0,1,3,2,1,2,

2018-04-08 20:45:30 11800

原创 Leetcode 301 Remove Invalid Parentheses

题目: Remove the minimum number of invalid parentheses in order to make the input string valid. Return all possible results.Note: The input string may contain letters other than the parentheses ( and...

2018-03-21 14:06:55 11813

原创 合并K个有序链表

合并K个有序链表 思路:将K个有序链表的首节点放入堆中,并且维护最小堆的性质,然后依次拿走堆顶的元素,每拿走堆顶的元素,是新放一个元素到堆顶 还是将堆的最尾端的元素置换到堆顶,取决于,拿走的元素是否有下一个节点,并且每改变一次堆,就要维护堆,这样,直到堆为空为止Java实现/** * Definition for singly-linked list. * public cl...

2018-03-20 21:24:52 12192

原创 Leetcode 23 Merge k Sorted Lists

题目如下: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.Java解答:class Solution { public ListNode mergeKLists(ListNode[] lists) { //边界判...

2018-03-20 21:17:42 11735

原创 第六届蓝桥杯JavaA组第八题移动距离

移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 6 6 12 11 10 9 8 7 13 14 15 ….. 我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个...

2018-03-20 20:28:58 277 2

原创 线段树的简单应用及介绍Java实现

什么是线段树?有什么用呢? 举一个例子做简单说明: 假设有一个数组A,长度为N,对于这个数组,我有二种操作:第一是连续区间i到j的和,第二是修改某个索引i的值 ,在没有引入线段树以前,两个操作的时间复杂度分别是o(N)和o(1); 另外一种做法是:引入数组s,其中s[i]=a[0]+a[1]+……+a[i];不难看出,第一个查询操作的时间复杂度降到o(1),但是修改操作变成了o(N)...

2018-03-20 12:07:37 1830 1

原创 最短路径之Dijkstra算法Java实现

Dijkstra算法步骤 以下图为例,求顶点v1到其他顶点的最短路径 初始化dis数组,怎么初始化呢?v1→v1设置为0,不能直接到达的设置为无穷大,能直接到达的附权值,并且定义集合T,初始化为{v1},集合T表示已经确定最短路径的顶点,结果如下: 找出dis数组中最小的值(不包括集合T中的顶点),这里最小值为 10,所以v1→v3的最短路径就是10 ,将v3加入到集合T...

2018-03-19 16:45:02 3922

原创 数据结构与算法之拓扑排序Java实现

什么是拓扑排序呢? 此处省略一万字,下面主要讲怎么实现,实现拓扑排序要抓住几点统计入度为0的节点(可以用队列实现)每一个节点的出度包括哪些节点(Map+List)每个节点的入度为多少(数组)例子+具体实现 题目来源:Leetcode 207 题目如下:There are a total of n courses you have to take, labeled ...

2018-03-19 15:19:53 406 1

原创 数据结构之堆Java实现

数据结构之堆 堆是什么?堆是一种特殊的完全二叉树,就像下面这棵树一样 最小堆的特点:所有父节点的值都比子节点要小!相反 最大堆得特点:所有父节点的值都比子节点要大!如何构造堆呢? 99,5,36,7,22,17,46,12,2,19,25,28,1,92 对于这样一串数字来说,首先建立一个数组a,长度为15,(a[0]不存数字,从下标1开始) 首先所有的叶子节点都是满足最小堆...

2018-03-15 20:20:56 466

转载 巴什博奕

什么叫巴什博奕呢? 两个顶尖聪明的人在玩游戏,有n个石子,每人可以随便拿1−m个石子,不能拿的人为败者,问谁会胜利? 巴什博奕是博弈论问题中基础的问题 它是最简单的一种情形对应一种状态的博弈博弈分析 我们从最简单的情景开始分析当石子有1−m个时,毫无疑问,先手必胜当石子有m+1个时,先手无论拿几个,后手都可以拿干净,先手必败当石子有m+2−2m时,先手可以拿走几个,剩下...

2018-03-15 13:53:59 184

原创 第六届蓝桥杯JavaA组第九题垒骰子

赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。 两种垒骰子方式相...

2018-03-15 13:29:22 447

转载 算法之矩阵快速幂

矩阵快速幂矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方法如下:把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*A)(A*A)(A*A)这样...

2018-03-15 13:26:34 356

原创 第八届蓝桥杯JavaA组第九题分巧克力

标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1. 形状是正方形,边长是整数 2. 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x...

2018-03-12 15:07:26 318

原创 第八届蓝桥杯JavaA组第七题正则问题

题目描述: 描述:正则问题考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。输入一个由x()|组成的正则表达式。输入长度不超过100,保证合法。 输出这个正则表达式能接受的最长字符串的长度。...

2018-03-12 14:16:59 476

原创 第七届蓝桥杯JavaA组第六题寒假作业

寒假作业现在小学的数学题目也不是那么好玩的。 看看这个寒假作业:□ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □(如果显示不出来,可以参见【图1.jpg】)每个方块代表1~13中的某一个数字,但不能重复。 比如: 6 + 7 = 13 9 - 8 = 1 3 * 4 = 12 10 / 2 = 5以...

2018-03-09 12:25:41 324

原创 第七届蓝桥杯JavaA组第四题分小组

分小组9名运动员参加比赛,需要分3组进行预赛。 有哪些分组的方案呢?我们标记运动员为 A,B,C,… I 下面的程序列出了所有的分组方法。该程序的正常输出为: ABC DEF GHI ABC DEG FHI ABC DEH FGI ABC DEI FGH ABC DFG EHI ABC DFH EGI ABC DFI EGH ABC DGH EFI ABC DGI...

2018-03-09 12:20:54 273

原创 第七届蓝桥杯JavaA组第三题搭积木

搭积木小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9。搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。 最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法:0 1 2 3 4 5 6 7 8 90 3 1 7 5 2 9 8 6 4 请你计算这样的搭法一共有多少种?...

2018-03-09 12:18:36 422

原创 第七届蓝桥杯JavaA组第二题生日蜡烛

生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。public class S2016JavaA_2 { public static void...

2018-03-09 12:16:19 204

原创 第七届蓝桥杯JavaA组第一题煤球数目

煤球数目有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), …. 如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。public class S2016JavaA_1 { public s...

2018-03-09 12:14:01 214

转载 Java多线程之内存可见性与原子性总结

多线程处理共享变量时候的Java中内存模型 Java内存模型规定了所有的变量都是存放在主内存中的,当线程使用变量时候都是把主内存里面的变量拷贝到了自己的工作空间或者叫做工作内存。线程的working memory 是cpu的寄存器和高速缓存的抽象描述:现在的计算机,cpu在计算的时候,并不总是从内存读取数据,它的数据读取顺序优先级是:寄存器-高速缓存-内存。线程耗费的是cpu,线程计算的...

2018-02-27 21:11:06 165

转载 Java中的synchronized(同步代码块与同步方法)

代码实例如下:package runnable;import java.math.BigDecimal;public class ThreadDemo { public static void main(String[] args) { SynObject synObject=new SynObject(); test te...

2018-02-27 16:09:04 183

转载 Java线程join方法

一、作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并发执行变为串行执行。代码实例如下:public class ThreadDemo{ public void static main(String[] args){ // jdk1.8之后才具有这个功能 Runnable r=() -> { ...

2018-02-27 14:25:15 110

翻译 Maven工具使用指南_1

maven的好处 1.maven可以很方便的管理jar包(依赖管理) 项目所需要的jar包都放在本地仓库中(repository文件夹下)2.maven可以很方便的分模块开发,提高开发效率3.maven可以编译、测试、运行、打包、部署maven的核心文件 settings.xmlmaven环境配置1.在系统变量中添加 MAVEN_HOME 它的值为:D:\maven\apache-mave

2018-02-07 16:54:37 204

转载 服务器端开发总结

1.服务异步化 网络IO处理异步化(NIO, Jetty Continuation,Servlet 3) 服务的异步化(Future, Callable, Runnable, Callback)2.线程与协程 多线程并发或者协程支持并发,相比而言,协程在处理IO密集型更具优势3.缓存无处不在 前端、CGI、后台能用缓存的地方尽量使用缓存,极大的提高系统性能,包括分布式缓存,本地缓存

2018-02-02 16:25:28 141

空空如也

空空如也

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

TA关注的人

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