自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

也许我太傻

一步一印,才会有想要的远方。

  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

原创 写在前面的话(java源码品读目录)

也许是耐不住一颗躁动的心,突发奇想写一些东西,或许头脑愚钝,有些理解有待考究,总归写出来聊以自慰。 希望能够以这种方式把一些好的东西保持下去,也希望能在与更多同行人士的交流中让自己更快的成长,如此于自己于家庭于社会都有益。专题的内容会从简单到复杂,也许会有一定的跳跃性,这也跟博主的工作内容会有一些关系,还望诸位能够理解。专题的更新不定时,刚开始可能快一些,后来可能慢一些,但是不会停机。本...

2018-04-11 14:28:54 349

转载 filter,interceptor,controllerAdvice,aspect,controller执行顺序

1、filter,这是java的过滤器,和框架无关的,是所有过滤组件中最外层的,从粒度来说是最大的。配置方式,有直接实现Filter+@component,@Bean+@configuration(第三方的filter)2、interceptor,spring框架的拦截器配置方式,@configuration+继承WebMvcConfigurationSupport类添加过滤器。3、asp...

2019-03-14 10:04:38 4750

原创 KMP算法详解

知乎KMP算法详解

2019-02-28 09:50:23 998

原创 java源码品读(13)— LinkedList

概述之前说过了LinkedList的相关的父类,今天我们来看看LinkedList本身的内容。 众所周知,ArrayList和LinkedList是我们工作中经常用到的两种集合,这两兄弟也经常会被拿到一起来做比较,ArrayList因其底层的数组结构,所以其改和查的效率相当高,但是增和删的效率就相对较低,而LinkedList则正好相反,增和删都因其底层的链式结构,效率很高,而改和查就需要先...

2018-09-21 17:15:23 287

原创 错误:Maven创建An internal error occurred during

场景使用myeclipse创建maven项目出现错误具体错误信息:错误原因:myeclipse的gc的内存占用超过限制,或者换句话说就是内存不足。解决方案:修改eclipse.ini或者myeclipse.ini文件中的一下配置:-Xms512m-Xmx1024m亲着是最小的初始化内存,第二个是最大的战友内存...

2018-09-21 15:50:58 1315

原创 Docker

Docker简介Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。 Docker支持将软件编译成一个镜像;然后在镜像中各种软件做...

2018-09-12 16:09:54 171

原创 No qualifying bean of type RedisTemplate available

错误场景 springboot项目使用redisTemplate进行自动注入的时候失败具体的堆栈信息2018-08-23 16:49:10.490 [ main ] [ERROR] - o.springframework.test.context.TestContextManager:250 - Caught exception while allowing TestExecuti...

2018-08-23 16:52:58 5571

原创 YAML基本语法

YAML:以数据为中心,比json、xml等更适合做配置文件1、基本语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可2、支持的数据结构对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)数组:一组按次序排列的值,又称为序列(seq...

2018-08-15 18:27:57 11885 6

转载 eclipse安装git插件

一、从官网选择系统版本下载Git并安装  地址:https://git-scm.com/downloads/二、打开Eclipse  1. 第一种安装方法: help–>Install New SoftWare…            点击Add–>分别输入EGit,http://download.eclipse.org/egit/updates/     ...

2018-08-01 18:33:14 332

转载 解决Spring Boot 使用Maven打包之后运行jar找不到主属性清单的问题

环境:使用springboot搭建环境使用官方配置打包 错误信息:没有主清单属性错误原因: 采用的是官方配置,但是去除了parent标签改为自己引入,打包的插件没有做相应的修改<plugin> <groupId>org.springframework.boot</groupId> &

2018-07-31 19:30:17 1307

原创 java源码品读(12)— Deque

Deque 继承队列Queue,也是一个线性的结构,但与队列不同的一点是,Deque是一个双向的队列。 详细一点,按作者的话说,就是一个支持两端添加和删除的队列,大多数Deque的实现没有固定的大小界限, 当然也同样支持容量限制的实现。Deque中的方法为我们提供了添加、删除和检查的方法,当然也是双向的,同时也会像Queue中的方法一样,未成功的处理防止一类直接抛出异常,一类是返回特殊值,...

2018-07-26 18:01:21 233

原创 java源码品读(11)— Queue

前面看了linkedList的父类,下面两次文章我们看它的两个实现类,Deque和Queue。linkedList是一个链式的集合,要想了解它就要先了解一下队列Queue。Queue是Java Collections Framework中的一员,为了顺序处理前保存元素所做的集合。 除了集合的基本操作之外,Queue提供了额外的插入、提取和检查的方法。 而每一种方法都有两种情况:一种是错...

2018-07-24 19:16:22 158

原创 linuxs实现ssh无密码直接登录

首先你需要知道你想要登录的机器的ip及相应的账户名密码,当然实现这个功能可能不是必须的,但是实现了这个功能之后能够在工作中省去很多比较繁琐的小步骤。假设你要登录的是192.168.1.100机器上的root用户(两个机器以下分别称为本机和目标机器):在本机上生成密钥//-P设置的是本机私钥取消密码 -f设置的是生成的公钥和私钥放的文件路径ssh -keygen -t rsa ...

2018-07-10 18:40:07 228 2

原创 java源码品读(10)— AbstractSequentialList

之前看了ArrayList的一些内容,而说起ArrayList就会想起另一个比较常用的类:LinkedList。public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Se...

2018-07-05 11:05:05 290

原创 大数据中的一些名词

TF(Term Frequency) 表示某个关键词在整篇文章中出现的频率。IDF(InversDocument Frequency) 表示计算倒文本频率。文本频率是指某个关键词在整个语料所有文章中出现的次数。倒文档频率又称为逆文档频率,它是文档频率的倒数,主要用于降低所有文档中一些常见却对文档影响不大的词语的作用。...

2018-06-26 15:36:51 1060

转载 eclipse 设置默认编码为Utf-8

需要设置的几处地方为:Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8Window->Preferences->General->Workspace 面板Text file encoding 选择UTF-8Window->Preferences-...

2018-06-26 13:50:13 121

原创 java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source)

问题场景 学习lucene搭建spring出现,环境 spring3.2,jdk1.8,tomcat8。具体堆栈信息java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.&lt;init&gt;(Unknown Source) at org.springframework.as...

2018-06-26 11:04:53 1185

转载 大数据学习路线

java(Java se,javaweb) Linux(shell,高并发架构,lucene,solr) Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume) 机器学习(R,mahout) Storm(Storm,kafka,redis) Spark(scala,spark,spark core,spark...

2018-06-23 17:14:47 238

转载 Hadoop简单了解

Hadoop是一个开源、高可靠、可扩展的分布式计算框架,主要用来解决海量数据的存储(HDFS)、海量数据的分析(MapReduce)、分布式资源调度(Yarn)等。Hadoop可以用于日志分析、基于海量数据的在线应用、推荐系统、计算广告、复杂算法、网盘和搜索引擎等。Hadoop的起源是Lucence,Lucence是用java编写的,用于实现和Google类似的全文检索功能,Hadoop是2005...

2018-06-23 17:00:18 510

原创 java源码品读(9)— Spliterator

Spliterator接口是1.8新加的接口,字面意思可分割的迭代器,不同以往的iterator需要顺序迭代,Spliterator可以分割为若干个小的迭代器进行并行操作,既可以实现多线程操作提高效率,又可以避免普通迭代器的fail-fast机制所带来的异常。Spliterator可以配合1.8新加的Stream进行并行流的实现,大大提高处理效率。

2018-05-28 16:45:41 3759 2

转载 jdk1.8 新特性

JDK1.8十个新特性 本日记将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API“Java is still not dead—and people are starting to figure that out.”本...

2018-05-21 15:06:24 386

原创 java源码品读(8)— ArrayList(二)

紧接上一篇,ArrayList中已经指定存放数据的方式是数组,那么迭代器的实现就可以更加的具体,下面我们就来看看ArrayList中的这些具体实现。首先是获取迭代器的几个方法iterator()listIterator()、listIterator(final int index) 获取的方法跟AbstractList的获取方式几乎一致,这里源码就不再贴出,稍有不同的是ListItr...

2018-05-15 15:03:07 226

原创 java源码品读(7)— ArrayList(一)

ArrayList是list的一个重要的实现,是经常会在代码中见到的一个几个,值得我们仔细的看一看。ArrayList继承AbstractList类,实现List、RandomAccess,、Cloneable、java.io.Serializable等接口,AbstractList、List、RandomAccess在之前的博文中都有说道,Cloneable、Serializable接口跟R...

2018-05-09 17:00:41 179

原创 java源码品读(6)— AbstractList

读完了List接口和AbstractCollection,我们来看AbstractList,AbstractList继承AbstractCollection并实现List接口,是ArrayList、Vector和Stack等重要类的超类。它实现了 List 的一些位置相关操作(比如 get,set,add,remove),是第一个实现随机访问方法的集合类,但不支持添加和替换。还是老规矩,只看重...

2018-05-04 11:08:01 207

原创 java源码品读(5)— List

List可能是大部分使用者最先接触到的集合类型,提供了较为简单的实现,实现数据的处理。List是有顺序的、可重复的、元素可为null的集合。存储内容时直接在内存中开辟一块连续的空间,然后将空间地址与索引相对应。下面是List中较之Collection新定义的一些方法:replaceAll方法 default void replaceAll(UnaryOperator&...

2018-04-28 11:32:53 199

原创 java源码品读(4)— AbstractCollection

Collection读完我们大致上知道这个接口为我们规划处那些接口,下面的几个篇目,就看一看Collection的一些实现,捋一捋大神的代码思路(手动滑稽)。AbstractCollection是Collection的一个一级实现,具体实现了Collection中的几个通用的方法,之前Collection中说过的方法属性就不再赘述,只看那些新增的东西。构造器protected Ab...

2018-04-23 17:56:40 272

原创 java源码品读(3)— Collection

看完了Iterable接口,接着来看Collection接口,接口中为子集合定义了各种基础的方法,方便我们使用。这是一个经常在工作中使用到的接口,Collection接口也有很多比较重要的实现,比如AbstractCollection,List,Set,Queue,CollectionView等都是比较经典的实现,值得好好的研究。一个一个来看:Collection,全称java.uti...

2018-04-19 19:51:50 186

原创 java.sql.SQLException: Generated keys not requested.

问题场景:使用jdbc访问mysql想要实现主键的返回,出现错误具体堆栈信息:java.sql.SQLException: Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate(), Statement.executeLa...

2018-04-19 11:15:37 1893

原创 java源码品读(2)— Iterable

在java中,日常运用比较多的就是各式各样处理数据的集合类,近段时间的java源码品读会更多地从这方面的源码读起。 说起集合,大家可能首先会想到的是用的比较多的list和map,而他们有一个共同的父接口Iterable,在1.8中Iterable接口中又为我们带来了一些新的东西,经过这两天的了解也算是略知一二,在这里写一写,如果有写错的地方还望大佬指出。Iterable接口是从jdk1.5才...

2018-04-16 16:28:16 384

原创 java源码品读(1)— Object

java是一门面向对象的语言,那么就从一切对象的根本Object读起吧。位置:java.lang.Object * Class {@code Object} is the root of the class hierarchy. * Every class has {@code Object} as a superclass. All objects, * including ar...

2018-04-11 19:28:38 324

原创 如果一个接口有2个不同的实现, 那么怎么来一个指定的实现

就目前的理解来说,两个不同实现的区分可以通过两种途径来进行区分: 1、是比较老的方法,声明bean的时候指定不同的名字,注入的时候直接使用 2、采用注解之间的不同点进行注入,这里涉及到两个注解,@Autowired和@Resource@Autowired根据类型来进行自动注入,因为是类型相同的两个实现,需要配合@Qualifier才能达到目的@Resource根据名字来进行自动注入...

2018-04-11 11:54:58 2777 1

原创 Tomcat启动参数总结

目前见到的tomcat的一些使用参数,再遇到继续补充-Xmx1g 设置tomcat的最大使用内存,32位系统因为系统原因有最大限制,64位系统则受限于计算机的物理内存。-Xmx1g 设置tomcat的初始内存大小,此值可设置与-Xmx一致,以免jvm在每次垃圾回收之后重新分配内存。-Xmn512m 设置jvm的年轻带大小。-XX:PermSize64m 设置jvm的永久带大小...

2018-04-09 17:29:20 2193

转载 java.lang.IllegalArgumentException: Comparison method violates its general contract!

背景 16号为了统一线上服务器运行环境,将两台服务器的Tomcat6+JDK6升级到Tomcat7+JDK7,本以为很简单的事情,升级后自己验证也没问题,没想到却悲剧了。升级后,过了半小时运营就找过来反馈问题,部分角色无法登陆系统,由于异常日志没有输出,没有找到问题,无奈回滚。今天我们就来说说JDK6升级到JDK7会遇到的坑。本文为了方便搜索,就直接以异常信息作为文章标题了。复现 回滚后,...

2018-04-09 11:04:39 858

原创 1215 - Cannot add foreign key constraint

问题场景:MySQL两张表想要进行外键关联,sql语句正确,但出现上述错误原因分析: 创建外键错误的原因大概有一下几个原因: 1、关联的两个字段的字段的类型不一致 2、设置外键删除时set null 3、两张表的引擎不一致解决方式: 1、保证关联的两个字段的字段类型一致,当然字段约束不同时也不能创建成功,但报的不是这个错误 2、默认即可 3、查看两张表的引擎是否相同,有两种方式...

2018-04-03 15:01:19 21214 6

转载 mybatis的mapper代理方法来实现

mapper代理方法来实现(实际开发用到的) 1、pom.xml文件一样 2、SqlMappingConfig.xml一样 3、开发规范:编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。接口UserMapping.xml文件(可能有点多、挑着看就好) (注意在SqlMappingConfig.xml文件中已经引用它)&lt...

2018-03-31 11:02:19 881

转载 传统的方式写mybatis的应用程序

1、环境搭建pom.xml文件&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache...

2018-03-31 10:38:55 196

转载 MyBatis入门

MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括S...

2018-03-31 10:34:35 103

原创 mybatis的一些零碎笔记

1、MyBatis的大致流程 通过mybatis的xml文件,获取mybatis的sqlsessionFactory 使用sqlsessionFactory打开一个连接sqlsession 使用sqlsession对象获取mapper文件的实现类代理对象 使用代理对象调用相应的增删改查方法 关闭sqlsess...

2018-03-29 16:47:37 150

原创 mybatis中#{}和${}的区别

在MyBatis的使用过程当中,使用参数进行sql拼装经常会使用到#{var}和${var}这两种参数的设置方式。 两种情况在sql拼装的过程中都会使用的到,下面是两种方式的不用之处:#{var}:使用预编译的方式将参数设置到sql语句当中(相当于占位符 ?)使用的是原生jdbc中的prepareStatrment能够在一定程度上防止sql注入的风险(无法避免%的问题)${v...

2018-03-29 16:29:01 904

原创 关于Spring中bean的一些细节

1、属性的set方法注入&lt;property&gt;标签2、对象的构造器注入&lt;constructor-arg&gt;标签 1)构造器方式注入属性的时候可以使用类型和位置进行不同构造器的匹配 2)如果参数个数相等,参数类型也一直得构造器,则会匹配位置靠前的构造器 3)属性值可以使用&lt;value&gt;子节点进行赋值如果字面...

2018-03-21 10:17:08 209

数据库系统概论第五版课后习题答案王珊.pdf

第1章?绪论 1?.试述数据、数据库、数据库系统、数据库管理系统的概念。?答:?? (?l?)数据(?Data?)?:描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。?500?这个数字可以表示一件物品的价格是?500?元,也可以表示一个学术会议参加的人数有?500?人,还可以表示一袋奶粉重?500?克。??(?2?)数据库(?DataBase?,简称?DB?)?:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。? (?3?)数据库系统(?DataBas?。?Sytem?,简称?DBS?)?:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。?? (?4?)数据库管理系统(?DataBase?Management?sytem?,简称?DBMs?)?:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。?DBMS?的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析?DBMS?是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制?DBMS?的厂商及其研制的?DBMS?产品很多。著名的有美国?IBM?公司的?DBZ?关系数据库管理系统和?IMS?层次数据库管理系统、美国?Oracle?公司的?orade?关系数据库管理系统、?s?油?ase?公司的?s?油?ase?关系数据库管理系统、美国微软公司的?SQL?Serve?,关系数据库管理系统等。??? 2?.使用数据库系统有什么好处??答:? 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由?DBMS?来完成。用一个通俗的比喻,使用了?DBMS?就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是?DBA?的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为?DBMS?在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由?DBMS?执行。总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。?? ?3?.试述文件系统与数据库系统的区别和联系。?答:? 文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。? 文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而?DBMS?是独立于操作系统的软件。但是?DBMS?是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。?? 4?.举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。答?:?(?l?)适用于文件系统而不是数据库系统的应用例子数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合用文件系统。? ?(?2?)适用于数据库系统而非文件系统的应用例子目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。例如,一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等),学校的学生管理系统,人事管理系统,图书馆的图书管理系统,等等,都适合用数据库系统。希望读者能举出自己了解的应用例子。?? 5?.试述数据库系统的特点。?答:? 数据库系统的主要特点有:?

2019-03-14

空空如也

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

TA关注的人

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