自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luzhensmart的专栏

Come on baby!

  • 博客(44)
  • 资源 (11)
  • 收藏
  • 关注

转载 mvc:default-servlet-handler标签的作用

最近在复习 Spring MVC 的时候,通过官方的文档弄清楚了一个以前不太理解的标签<mvc:default-servlet-handler/>,写出来分享一下。在开发 RESTful 架构的 URI 时,我们都会在web.xml中将前端控制器的映射请求设置为"/"。 关于配置成"/",在 Spring 的官方文档中这样描述:The caveat to overr...

2018-12-31 22:12:18 184

原创 gradle providedCompile 与compile区别

/** * maven:provided * provided:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api, * 因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 * gradle:provided和compile的区别: * 如果你的jar包/依赖代码 仅在编译的时候需要,但是在运行时不需要依赖,就用provid...

2018-12-31 21:40:29 2499

转载 Maven中servlet-api的dependency的scope作用域为什么是provided?

1、test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖2、compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 4、runtime在运行的时候依赖,在编译的时候不依...

2018-12-30 22:05:49 2491

原创 Gradle使用maven仓库,而不使用gradle仓库

1:找的maven仓库的位置复制路径E:\repository,由于我是使用idea设置的maven仓库位置,2:配置环境变量GRADLE_USER_HOME 将上面的E:\repository配置进去3:重启idea验证  是否生效 可以看到Gradle模块的Service directory path变成了我们设置的GRADLE_USER_HOME环境的变量的位置,说明grad...

2018-12-30 20:41:21 22923 9

原创 Gradle的工程配置文件说明

build.gradle文件 /** * 运行的环境是java语言 */plugins { id 'java'}/** * GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 * ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。 * version 版本 */group '...

2018-12-30 20:24:43 1002

原创 Gradle的jar包依赖及gradle仓库jar包位置(后续会改成使用maven仓库,不适用gradle仓库)

1:正常的百度搜索比如 spring-context maven依赖,正常情况下 如果是maven工程 我们之间粘贴下面的xml即可,但是gradle工程,选择Gradle选项卡,将compile group: 'org.springframework', name: 'spring-context', version: '5.1.3.RELEASE'粘贴到gradle工程中的build.grad...

2018-12-30 19:40:06 2161

原创 Grovvy的简单语法学习

1:打开Idea的tools Groovy Console这个界面 相当于是groovy的命令行 不用建立任何的工程 直接打开该菜单即可2:groovy的打印语法groovy语言和Java语言非常相似 sout快捷键也是一样 Java里相当于是System.out.print 这里也是相当于打印的作用: 可以看到groovy语言更加的随意,可以不用写分号、括号3...

2018-12-30 17:31:48 286

原创 Gradle-Idea java工程创建(非web工程)

1:gradle下载 百度去2gradle环境变量配置 百度去3:Idea Java工程创建可以看到目录结构和maven的结构是一样的 

2018-12-30 13:51:29 145

转载 Dubbo通信层(利用Netty)的实现过程

2018-12-28 18:05:34 771

转载 基于RPC原理的dubbo

RPC框架通信原理是动态代理public interface HelloWorldService { String sayHello(String msg);}public class HelloWorldServiceImpl implements HelloWorldService { @Override public String sayHello(Str...

2018-12-28 17:37:24 340

转载 二叉树平衡因子

一、二叉树的基本概念二叉树:二叉树是每个节点最多有两个子树的树结构。根节点:一棵树最上面的节点称为根节点。父节点、子节点:如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节点称为子 节点。叶子节点:没有任何子节点的节点称为叶子节点。兄弟节点:具有相同父节点的节点互称为兄弟节点。节点度:节点拥有的子树数。上图中,13的度为2,46的度为1,28的度为0。树...

2018-12-27 11:32:36 32730 6

转载 [搬运]扫盲 HTTPS 和 SSL/TLS 协议

本文转载自大神编程随想的博客。阅读原文需要科学上网,建议有条件者直接阅读原文,本文转载只为方便墙内阅读与存档学习。原文传送门:扫盲 HTTPS 和 SSL/TLS 协议[0]:引子 @ 编程随想的博客扫盲 HTTPS 和 SSL/TLS 协议[1]:背景知识、协议的需求、设计的难点 @ 编程随想的博客扫盲 HTTPS 和 SSL/TLS 协议[2]:可靠密钥交换的原理 @ 编程随想...

2018-12-26 15:48:10 749

转载 B+Tree与B树的区别

B+Tree的定义B+Tree是B树的变种,有着比B树更高的查询性能,来看下m阶B+Tree特征:1、有m个子树的节点包含有m个元素(B-Tree中是m-1)2、根节点和分支节点中不保存数据,只用于索引,所有数据都保存在叶子节点中。3、所有分支节点和根节点都同时存在于子节点中,在子节点元素中是最大或者最小的元素。4、叶子节点会包含所有的关键字,以及指向数据记录的指针,并且叶子节...

2018-12-25 14:12:16 388

原创 线程的6种状态

1:NEW状态 package thread.state;public class MyThread extends Thread{ @Override public void run() { System.out.println("线程开始执行!"); }}/** * 线程的新建状态:还未启动的线程所处的状态 */public...

2018-12-23 23:25:48 171

原创 JAVA8匿名函数

传统的写法: new Thread(new Runnable() { public void run() { System.out.println("hello"); } }).start(); 这样的代码的缺点是有代码笨重,可读性差,不能引用外面的非final的变量等。lambda表达式就是为了解决这类问题而诞生的。...

2018-12-23 23:10:41 21908 3

转载 理解String 及 String.intern() 在实际中的应用

1. 首先String不属于8种基本数据类型,String是一个对象。      因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null; 3. String str=”kvill”;  String str=new Str...

2018-12-19 10:57:19 513 4

转载 Java8中reduce

T reduce(T identity, BinaryOperator<t>accumulator)identity:它允许用户提供一个循环计算的初始值。accumulator:计算的累加器,其方法签名为apply(T t,U u),在该reduce方法中第一个参数t为上次函数计算的返回值,第二个参数u为Stream中的元素,这个函数把这两个值计算apply,得到的和会被赋值...

2018-12-14 19:33:56 5496 2

原创 win10系统git -- Authentication failed for 修改密码后 或 第一次输错用户名、密码后遇到的坑

(一)进入控制面板 (二)选择用户账户 (三)选择管理你的凭据 (四)选择Windows凭据 (五)选择git保存的用户信息 (六)选择编辑或者进行删除操作 (七)完成 ...

2018-12-14 00:42:03 2403

转载 Curator分布式锁的使用分析

Shared Reentrant Lock在《Leader Election 的使用与分析》介绍过,Leader Election选主,是使用了一个InterProcessMutex分布式锁来实现的。而InterProcessMutex就是这里要介绍的Shared Reentrant Lock:可重入共享分布式锁。用于全局同步的完整分布式锁,意味着在同一个时间点,对于同一把锁,不会有...

2018-12-11 15:21:53 1829

翻译 AtomicReference的问题

AtomicReference和AtomicInteger非常类似,不同之处就在于AtomicInteger是对整数的封装,而AtomicReference则对应普通的对象引用。也就是它可以保证你在修改对象引用时的线程安全性。在介绍AtomicReference的同时,我希望同时提出一个有关原子操作的逻辑上的不足。   之前我们说过,线程判断被修改对象是否可以正确写入的条件是对象的当前值和期望...

2018-12-09 21:19:21 2173

转载 可重入锁

释义广义上的可重入锁指的是可重复可递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁(前提得是同一个对象或者class),这样的锁就叫做可重入锁。ReentrantLock和synchronized都是可重入锁,下面是一个用synchronized实现的例子:public class ReentrantTest implements Runnable { pub...

2018-12-09 20:06:45 85

原创 CAS来原子操作

CAS(Compare and Swap):简单的来说,CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则返回V。这是一种乐观锁的思路,它相信在它修改之前,没有其它线程去修改它;...

2018-12-09 17:22:49 146

翻译 ReentrantLock和Curator的Zookeeper分布式锁的对比

实现成员变量 基于线程安全的依次递减功能:ReentrantLock:package zklock;import java.util.concurrent.CountDownLatch;import java.util.concurrent.locks.ReentrantLock;public class Lock1 { static ReentrantLock ree...

2018-12-09 13:46:06 318

原创 Windosws的zookeeper的伪集群搭建

1:下载zookeeper-3.4.12减压2:copy E:\ZK\zookeeper-3.4.12\conf目录下的zoo_sample.cfg 另存为:zoo1.cfg zoo2.cfg zoo3.cfg修改zoo1.cf文件内容为:dataDir=E:\\ZK\\data1dataLogDir=E:\\ZK\\log1clientPort=2181server.1=12...

2018-12-09 13:40:39 332

原创 CountDownLatch之countDown()放在主线程的方法里

CountDownLatch典型用法2:实现多个线程开始执行任务的最大并行性。注意是并行性,不是并发,强调的是多个线程在某一时刻同时开始执行。类似于赛跑,将多个线程放到起点,等待发令枪响,然后同时开跑。做法是初始化一个共享的CountDownLatch(1),将其计数器初始化为1,多个线程在开始执行任务前首先 coundownlatch.await(),当主线程调用 countDown() 时,计...

2018-12-08 19:05:02 1879

原创 CountDownLatch之countDown()放在子线程的方法里

CountDownLatch典型用法1:某一线程在开始运行前等待n个线程执行完毕。将CountDownLatch的计数器初始化为n new CountDownLatch(n) ,每当一个任务线程执行完毕,就将计数器减1 countdownlatch.countDown(),当计数器的值变为0时,在CountDownLatch上 await() 的线程就会被唤醒。一个典型应用场景就是启动一个服务时...

2018-12-08 18:54:19 9027

转载 10分钟看懂!基于Zookeeper的分布式锁

什么是Zookeeper?Zookeeper(业界简称zk)是一种提供配置管理、分布式协同以及命名的中心化服务,这些提供的功能都是分布式系统中非常底层且必不可少的基本功能,但是如果自己实现这些功能而且要达到高吞吐、低延迟同时还要保持一致性和可用性,实际上非常困难。因此zookeeper提供了这些功能,开发者在zookeeper之上构建自己的各种分布式系统。虽然zookeeper的实现比较复...

2018-12-08 17:50:09 167

转载 Spring AOP中自我调用的问题

现象描述:假设有一个service,其中有A B 两个方法,A B都被aop托管,且A中调用了B方法,这时请求方法A的时候只会触发A的aop逻辑而不会触发B的aop逻辑。package aop;public interface UserService { void A(); void B();} package aop;public class UserSer...

2018-12-06 22:46:40 1065

原创 Spring的AOP:Pointcut、Advice、Advisor

1:Pointcut 在介绍Pointcut之前,有必要先介绍  Join  Point(连接点)概念。连接点:程序运行中的某个阶段点,比如方法的调用、异常的抛出等。比如方法doSome();Pointcut是JoinPoint的集合,它是程序中需要注入Advice 的位置的集合,指明Advice要在什么样的条件下才能被触发。               org.springf...

2018-12-06 15:25:59 370

转载 Spring注解@Transactional事务的基本原理

一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:1、获取连接 Connection con = DriverManager.getConnection()2、开启事务con.setAutoCommit(true/false);3、执行CRUD...

2018-12-06 13:57:14 1065

转载 spring 的aop proxy 代理

1、预备知识使用AOP 代理后的方法调用执行流程,如图所示 也就是说我们首先调用的是AOP代理对象而不是目标对象,首先执行事务切面,事务切面内部通过TransactionInterceptor环绕增强进行事务的增强,即进入目标方法之前开启事务,退出目标方法时提交/回滚事务。2:测试代码准备:public interface AService { public ...

2018-12-05 18:17:07 940

转载 Spring 嵌套事物 失效2

public class Demo { public void methodA() { this.methodB(); } public void methodB() { } }1、如果在methodA中加入:@Transactional,mehodB不加@Transactional,那么调用methodA,methodA的事物会生效,因为methodA默...

2018-12-05 17:41:27 146

转载 Spring 嵌套事物 失效1

import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;import org.springframew...

2018-12-05 17:29:26 145

原创 35.Vue的component2

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><met

2018-12-02 18:53:08 233

原创 34.Vue的component1

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><met

2018-12-01 22:04:45 188

转载 vue中prop传值时加不加v-bind(冒号:)

用法:动态地绑定一个或多个特性,或一个组件 prop(属性) 到表达式。在绑定 class 或 style 特性时,支持其它类型的值,如数组或对象。在绑定 prop 时,prop 必须在子组件中声明。可以用修饰符指定不同的绑定类型。由于结果记起来很容易,所以先给出结果:只有传递字符串常量时,不采用v-bind形式,其余情况均采用v-bind形式传递。传入String类型传入...

2018-12-01 20:51:32 2453

原创 33.Vue组件中的data数据属性

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><met

2018-12-01 18:50:15 2036

原创 32.Vue自定义私有组件

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><met

2018-12-01 18:49:49 700

原创 31.Vue创建全局组件的方式5

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><met

2018-12-01 18:49:19 113

原创 30.Vue创建全局组件的方式4注意事项

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><met

2018-12-01 18:48:51 142

tcnative-1.dll

解决方法: 下载tcnative-1.dll文件,将其放到tomcat\bin里。也可以忽略,不影响程序运行。

2013-05-23

LeapFTP 破解版

LeapFTP 破解版

2013-05-16

SSH2整合需要的jar包(2)

SSH2整合需要的jar包(2) 同样是SSH2整合的jar包 根据版本的不同 整合需要的jar包 也不同

2013-05-07

SSH2整合 需要的jar包

Struts2 Spring Hibernate 整合需要的jar包很好用

2013-05-07

aopalliance-1.0.jar

aopalliance-1.0.jar 很好用

2013-05-06

aspectj -1.6.13 . jar

aspectj-1.6.13.jar 很好用

2013-05-06

w3school_5.0.chm中文文档

w3school_5.0.chm中文文档 挺好用的

2013-04-30

jQueryAPI1.4.chm中文文档

jQueryAPI 1.4.chm 中文文档 还不错 挺好用的

2013-04-30

jQuery-UI-Reference-1.7.chm

jQuery-UI-Reference-1.7.chm文档,挺好用的

2013-04-30

Myeclipse8.6注册码获取

将文档中的代码复制进去后,运行,即可获取Myeclipse8.6的注册码

2013-04-30

Altova XMLSpy 2013注册机

必须是32位系统的 很好用 减压后 有个图片文件 照着上面做 即可注册成功

2013-04-30

空空如也

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

TA关注的人

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