自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring-boot java.lang.ClassNotFoundException: org.thymeleaf.spring5.ISpringTemplateEngine

最近在学习spring-boot的时候,按照spring in action的第21章,搭建项目的时候,遇到了这个错误: java.lang.ClassNotFoundException: org.thymeleaf.spring5.ISpringTemplateEngine检查发现,粗心引入了错误的依赖,正确的依赖是(我用的spring 5):compile group: 'or...

2018-03-08 16:24:02 8935 1

原创 spring boot CREATE TABLE CONTACTS ( [*]"; expected "identifier";

最近在看spring boot 就按照spring in action第21章搭建了一个简单的系统 contacts,所有的代码都写好之后,尝试运行了一下,却一直报这个错误:CREATE TABLE CONTACTS ( [*]"; expected "identifier";网上百度了很久也没有解决找到答案,最后发现别人用的h2数据库和我的版本不一样,也就是这个jar包:co...

2018-03-08 16:19:06 1646 3

原创 java 基本类型总结

关于java基本类型的内容,看了无数遍,但是有时候还是会想不起来,还是写写博客加深一下记忆。java的数据类型: – 引用类型 – 基本类型基本类型有4类8中 字符型:char 布尔型:boolean 整数型:byte、short、int、long 浮点型:float、doubleps:我总是把byte类型忘记8中基本类型的字节数byte:1字节 sh...

2018-02-26 17:04:14 176

原创 mysql 修改自增值 auto_increment

项目里负责创建表的同事,每次创建表都不修改自增值,导致每创建一次表,表的自增值起点越来越大,直到有一次,自增值超过int(11)的最大值,sql执行出错,所以就像修改自增值。首先查询自增值:SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name="test";查询出当前的自增值,我这边新建的表值非常大。

2018-01-31 09:41:46 27172 1

原创 多线程基础学习十五:了解condition

之前学习lock相关知识的时候,看到多很多次condition这个接口,当时重心在学习lock接口上,就没有怎么关注这个接口,现在就了解一下这个接口。condition了解之前这个接口之前,我回想了多线程通信的问题,其中有一种就是使用object的wait、notify、notifyall方法,而我之前学习lock相关知识的时候,并没有看到通信相关的内容,所以据此猜测condition

2018-01-04 19:23:16 341

原创 Another app is currently holding the yum lock; waiting for it to exit...

最近在安装gitlab的时候,第一次安装没有看到gitlab是有版本区别(ce和ee),安装成了ee版,在下载期间发现的问题,所以想要重新安装ce版,结果执行官网命令的时候提示这个错误:Another app is currently holding the yum lock; waiting for it to exit...上个安装ee版的yum进程未结束导致的这个问题,所以杀掉进程就行了。首先

2017-12-21 09:51:21 239

原创 学会一种数据结构三:链表

前面学习一种数据结构-队列,在队列的实现中有一种实现叫链表实现,今天就学习一下链表这种数据结构。链表百度百科权威描述:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域

2017-12-20 15:54:44 382

原创 多线程基础学习十四:ReadWriteLock与ReentrantReadWriteLock

前面学习的synchronized、lock与ReentrantLock都是独占锁(有的也称为互斥锁),了解锁的概念的时候,有一种锁叫共享锁,今天就学习一下共享锁向光的接口和实现类。ReadWriteLock的了解在J.U.C(java.util.concurrent)中提供了一种共享锁的实现,也就是读写锁。 ps: 我对读写锁这个词印象颇深,刚开始工作的时候,当时处于对并发完全不知道的状态,面

2017-12-19 11:10:44 206

原创 ERR wrong number of arguments for 'sadd' command

在用spring redis 存储set数据的时候,提示了这个ERR wrong number of arguments for ‘sadd’ command这个错误,通过调试发现:redisTemplate.opsForSet().add(key, arr);上面这句代码执行的时候,arr是一个空数组,所以当执行这句代码,保证数组不是空就行了。

2017-12-18 10:39:31 31781 1

原创 学会一种数据结构二:队列的数组实现和链表实现

上一篇文章了解了队列的概念和一些特性,并用java简单实现一个队列。今天就实现队列两种最常见的实现 数组实现和链表实现。队列的数组实现

2017-12-13 19:52:24 257

原创 java基础复习七:数组的声明与扩容

如何声明数组,有几种方式,面试的时候经常被问道,每次都是临时记一下,也没有认真对待这个问题,现在复习一下。数组的声明最常用的声明方式代码:public static void main(String[] args) { String[] strArr = new String[10]; strArr[10] = "145"; }这是

2017-12-07 10:47:12 261

原创 多线程基础学习十三:ReentrantLock的了解与使用

最近较忙,趁晚上继续之前的学习,前面了解了Lock与AbstractQueuedSynchronizer(AQS),也了解了并发的一些重要的概念,今天就学习一下最常用的一个实现类ReentrantLock。ReentrantLock了解源码:public class ReentrantLock implements Lock, java.io.Serializable {....}

2017-12-06 13:54:50 342

原创 学会一种数据结构一:队列

学习新知识的时候,经常看到源码使用了某种数据结构,如果不了解这种数据结构就很难看懂源码,所以在学习其它知识之余,花点时间学习遇到的数据结构。今天先学习队列。定义来自专家审核的百度百科: 队列: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行

2017-12-04 22:35:11 269

原创 一种奇怪的错误,执行一个junit测试用例,代码却执行了很多遍

最近用junit做接口测试的时候,项目框架是ssm,只执行了一次测试用例,但是service实现层根据日志,发现执行了几十次到上百次,直到栈溢出才会停止。这是测试用例: @Test public void testGetTest() { try { CloseableHttpClient closeableHttpClient = HttpCli

2017-11-28 10:46:12 2040

原创 多线程基础学习十二:概念了解-重入锁、独占锁与共享锁、公平锁与非公平锁

前面了解了J.U.C中两个重要的类或接口,其它的实现类都是以此为基础的,现在还需要了解一下一些锁的概念,有助于后面学习一些实现类或接口。重入锁在并发中,无论是synchronized还是lock也好,内部都有重入的特性,而且特性的含义是一样的。重入(re-entrant),同一个线程可以获取已持有的锁;已知的有两种出现场景: 1、加锁方法调用另外一个加锁方法; 2、递归调用加锁方法;归根结底,就

2017-11-24 10:50:09 2419

原创 java基础复习六:三大特性之一继承

我工作至今也基本三年,从培训到现在,虽然很多基础知识都知道,但是有一部分知识能说出来,但是解释不了,今天就着重复习一下继承特性。继承java程序员都知道,继承是为了复用代码。面对对象编程基本都有继承。 在java里面: 所有的子类都可以使用父类的属性和方法么? 子类可以继承父类的构造方法么? 说实话,我还真没想过这两个问题,只知道不能用就改修饰词。 所以了解继承的前提先知道不同的修饰词的限

2017-11-24 08:57:41 176

原创 java基础复习五:for(;;)的写法

最近在学习并发的时候,经常看到这种写法: for (;;) { .......; }突然觉得自己不理解在这种写法的意义;测试代码: public static void main (String[] args) { for (;;) { System.out.println(123); }

2017-11-23 15:16:00 690

原创 多线程基础学习十一:AbstractQueuedSynchronizer了解

上一片学习了Lock顶级接口,现在学习一下队列同步器AbstractQueuedSynchronizer,也就是网上常看到AQS。AbstractQueuedSynchronizer目前我看到的Lock的实现最终都是通过AQS同步器来实现同步,所以了解这个类对了解Lock的实现有很大的帮助。这个类提供了很多方法: 根据源码注释,非常容易理解到,这个类提供了和lock类似功能的方法

2017-11-23 15:00:25 187

原创 多线程基础学习十:java.util.lock.concurrent.locks中lock

java.util.lock.concurrent.locks是1.5之后出现的一个多线程包,里面提供了同步的另外一种实现方式,前面学习了Synchronized和volatile的基本用法,现在学习一下这些这些接口和类。java.util.lock.concurrent.locks里面有三个顶级接口: – Lock – Condition – ReadWriteLockLock前面学习的时候

2017-11-21 13:33:00 353

原创 java基础复习四:for与foreach的循环性能比较

基本上每次面试都会被问到这个问题,我的回答基本都是foreach性能比for循环好,可是真的是这样么? 常用的遍历类一般是ArrayList、LinkedList、数组,现在实际测试一下。ArrayList分别测试一千、一万、十万、百万条数据 测试代码:public static void main (String[] args) { List<String> list = ne

2017-11-17 15:18:58 308

原创 多线程基础学习九:练习-多线程获取不重复的随机数字

今天在联系一下前面学习的知识,实现一个简单的需求。需求多个线程并发获取随机数,要求随机数据不能重复。非多线程下的随机数获取实现获取随机数的方式两种: – Math.random() – new Random.nextInt(int)因为一般获取随机数都要求是整数,所以第一种获取方式一般需要乘以10的n次方,所以这次练习采用第二种方式。测试代码:public static void main (S

2017-11-16 19:04:25 1325

原创 java基础复习三:i++与++i以及表达式

虽然知道++i一个是先计算在赋值,i++是先赋值再计算,但是有时候还是会搞不清楚,复习一下。不涉及表达式时测试代码:public static void main (String[] args) { int i = 1; int k = 1; System.out.println(++i); System.out.println(k++)

2017-11-14 17:28:41 511

原创 多线程基础学习八:volatile的使用

有一次去某个公司面试,面试官是两个人,他们问了我一个问题,是否知道【[ˈvɒleɪt] 】关键字,以及它的用法,我当时怎么都想不出来有这个关键字,只好说不知道,没见过这个关键字,面试没通过,临走的时候我让他们拼一下这个关键字,然后他们告诉我是【volatile】,现在想想都觉得是迷之读音啊。volatile轻量级的同步机制,保证了数据的可见性,不保证原子性,网上资料都是这么说,然而我却不怎么理解。v

2017-11-10 17:37:05 274

原创 union all 和where条件一起使用查询数据不对的问题

最近写sql的时候,需要两张表结合一起查询数据,并且根据条件从查询到的数据中只取一条,结果没有取到数据。表一 test1 id name 1 张三 2 李四 3 王五表二 test2 id name 4 小一 5 小二 6 小三查询语句是这样的: select id ,name from test1 union select

2017-11-03 16:33:05 35237 6

原创 多线程基础学习七:使用synchronized实现多线程情况下的访问次数统计

前面学习了多线成基础和synchroniezed的基本用法,现在两者结合起来使用,实现一个简单的计数需求。需求多个线程访问某个类,统计类的访问次数并输出。实现正确的写法第一种实现方式:public class SynchronizedCountNum { public static void main (String[] args) { int i = 0; wh

2017-11-01 17:35:26 1151 3

原创 java基础复习二:HashMap存放数据

以前面试的时候,有人问过我这样一个问题,HashMap存重复的key,能不能存进去,会出现什么问题, 忘记当时怎么回答的了,但是现在想想好像也搞不清楚,所以复习一下。测试我原来以为hashmap存放相同的key的时候,会报错,或者忽略掉这个数据。但是事实胜于雄辩。测试代码:public class MapTest { public static void main (String[] arg

2017-11-01 16:19:00 5724

原创 多线程基础学习六:synchronized的基本使用

前面学习线程的基础知识,在此基础上学习一下关于同步的基础知识,今天就学习synchronized。我开始找工作的时候,面试的时候经常会被人问下面的问题:– synchronized有什么用? – synchronized修饰不同的地方,作用有什么不同?现在就从这两个地方开始学。synchronizedsynchronized是一个同步锁关键字,作用就是让线程只能逐一执行,不能

2017-10-30 19:21:37 235

原创 Error occurred while downloading files from Administration Server for deployment request

最近在weblogic上更新项目的时候,总是报这个错:Error occurred while downloading files from Administration Server for deployment request Underlying error is: “null”网上百度了一下,都说是文件名编码的问题,结果问了提交代码的同事,没有人提交带有中文名的文件。只好把项目删掉重新部署

2017-10-27 15:14:24 9136

原创 java基础复习一:int与Integer

java的一些基础总是忘记,有必要写一遍加深一下记忆。int是java的基础类型,4个字节,在java.lang这个包中。 Integer是int的包装类,可以在一些需要使用int,但又没法用的地方代替int使用。比较大小– **如果两个变量都是int类型的,不存在任何异议 int a = 2; int b = 2; Sy

2017-10-26 16:20:42 261

原创 spring mvc项目,部署tomcat 中,使用jndi数据源

最近部署项目时,有几个项目使用同一个数据源,不想在每个项目中都配置一边,所以就想用jndi数据源的方式,tomcat是8.5,spring是最新版本,配置如下: conf/context.xml全局配置:<Context> <!-- Default set of monitored resources. If one of these changes, the --> <!--

2017-10-26 10:58:12 1825

原创 多线程基础学习五:线程池基础学习

今天学习一下java的线程池的基础知识。 我的工作中基本上没有涉及到并发的问题,开发的都是XXX后台管理系统之类的项目,用户就几十个人,不存需要使用线程池的场景。我看了一下线程池相关的类和接口都在java.util.concurrent包中,其中Callable接口也在这里面。顶级接口Executor通过ThreadPoolExecutor这个类向上查找了解到,ThreadPoolExecutor

2017-10-11 16:03:49 272

原创 vue-router params无法传参的问题

最近需要使用router 的params传参,原来使用的是query传参,因为参数太多,而且query传参可以在地址栏看到,所以想要使用params传参。这是我开始写的代码:this.$router.push({ path:'Test', name:"Test", params:{ name:

2017-10-08 10:48:15 20455 3

原创 spring quartz:Checking for available updated version of Quartz

在项目中使用quartz的时候,启动后总是提示这个信息,而且还花费时间,这样配置一下就可以了:<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list>

2017-09-28 13:27:00 1322

原创 多线程基础学习四:线程间的通信

java 多线程通信

2017-09-27 17:36:34 240

原创 jsp中使用vue,加载页面显示{}的问题

在jsp中vue的时候,页面加载的时候总会有{{ }}闪烁,看着太烦人了。后来百度了一下,发现使用v-cloak可以解决这个问题,使用方式如下:样式中添加:<style>[v-cloak] { display: none;}</style>vue根元素添加: <body> ... 其它元素 ... <div id="app" v-cloak></div> </body>

2017-09-26 17:28:42 5603 7

原创 多线程基础学习三:有返回值的线程类Callable

前两篇学习了Thread和Runnable的基础知识,学习另外一个多线成类Callable。我在项目中遇到过这种场景,页面需要显示机票信息,时间分别为今天、明天,默认显示今天的,但是客户可能会看明天,要求点击明天不能给人明显的等待和迟滞的效果,然而查询机票需要调用第三方接口,接口每次只能查询一个时间的,并且查询时间比较长,大概20秒的样子。为了解决这个问题,要求页面调用接口的时候,要把下一天的的机票

2017-09-25 10:28:09 281

原创 多线程基础学习二:Runnable基础学习

前几天学习了Thread的基础知识,今天开始学习一下Runnable的基础知识。Runnable与Thread的关系Thread实现了Runnable,也就是说Thread是Runnable的一个实现类,并且扩展了很多有用的方法。 源码:publicclass Thread implements Runnable { `````}可以确认的是,如果Runnable能实现一个功能,那Th

2017-09-19 11:15:03 331

原创 多线程基础学习一:Thread基础学习

最近开始学习多线程的基础知识,以学习使用为主。创建一个线程Thread是一个实现了Runnable接口的实现类,所以创建线程只要集成重写run方法就可以了。/** * Created by nyl * 2017/9/15 0015 */public class DaemonTest { public static void main (String[] args)

2017-08-31 18:06:00 236

原创 js代码积累:js对象复制

对象复制在写vue相关代码时,有时把同一个对象或者数组赋值给不同的变量,如果修改其中一个值,另外一个变量的值也会变化,如下:let orderDetailList = this.order.orderDetailList; if (orderDetailList != undefined && typeof(orderDetailList) != undefined && order

2017-08-31 15:13:15 243

原创 http响应总结:常见http响应错误总结

工作中经常会被同事问这个http请求为什么调不通,我虽然能解释清楚错误是什么,但是没有总结过,想到刚开始时,也是看了别人的文章才会的,所以总结一下,贡献一下自己的经验。http 404 响应404响应可以说是,在java web中最常见的错误了,基本上大家都理解问题产生的原因,即找不到这个资源。路径匹配错误导致的404比如说请求的访问路径为http://localhost:

2017-08-28 19:06:34 40841 1

spring-ws 中文文档

这是spring-ws官方参考文档,我用谷歌翻译成中文,最后关于https和spring-security等相关内容没有翻译,适合没什么webservice基础Java开发人员参考使用

2017-06-13

空空如也

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

TA关注的人

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