自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (2)
  • 收藏
  • 关注

原创 发现了以元素 'aop:config' 开头的无效内容。应以 '{"http://www.springframework.org/schema/beans":beans}' 之一开头。

Spring 配置文件<!--aop 配置--> <aop:aspectj-autoproxy/> <beans> <bean id="controllerAop" class="cn.scu.petcommunity.common.ControllerAOP"></bean> &am

2018-11-05 16:06:01 2604

原创 使用SpringAOP技术实现后台业务代码的解耦,规范后台代码

讲解目录:                  1.   Java初级程序员编码规范—前述                  2.    Java初级程序员编码规范——接口                  3.   Java初级程序员编码规范——Controller                  4.   Java初级程序员编码规范——异常处理...

2018-10-14 13:38:45 737

原创 Java初级程序员编码规范——异常处理

          对于一个大的项目,最怕两件事情:                1. 系统出现问题我们不知道,等到问题慢慢变大,用户开始投诉后才知道“哦,我们系统出现问题了呀!”。 多么可怕!!!                2. 系统出了问题,但是就是找不出来哪里出现了问题。         对于第一个问题,如果出现,后果非常的严重。 因此,为了尽量避免这样的问题,我们需要...

2018-10-11 17:41:08 1268

原创 Java初级程序员编码规范——Controller

目录1. Controller层的编码规范   1.1  包括在上一篇博文(接口编码规范)提到的规范内容   1.2 所有函数返回统一的ResultBean格式   1.3  ResultBean是Controller专用的,是不允许往后传   1.4 Controller做参数格式化的转换,不允许把json,map这类对象传到service去,也不允许services返回js...

2018-10-11 16:44:18 1324

原创 Java初级程序员编码规范——接口

目录1. 接口定义常见问题1.1 返回个数不统一1.2 没有考虑操作失败的情况1.3 出现和业务无关的输入参数1.4 出现复杂的输入参数1.5 没有返回该返回的数据类型2. 接口统一格式定义在实际的项目开发中,接口定义是必须的。系统的集成需要定义接口,前后台调用也需要定义接口。通过接口的定义,能够在一定程度上看出程序员的编程功底。 接下来就列出在项目开发中经常出现的...

2018-10-11 15:26:54 1013

原创 Java初级程序员编码规范—前述

                                   大家眼中的程序员标签                                                        作为初级的程序员,我们在平时项目中,接触最多的就是业务层代码,每天就是CRUD,可以说没有什么技术含量,即使我们基础很差,依葫芦画瓢很多功能也能够勉强做出来。         但是问题就...

2018-10-10 16:20:29 383

原创 CMS收集器和G1收集器的区别

目录CMS收集器和G1收集器的区别区别一: 使用范围不一样区别二: STW的时间区别三: 垃圾碎片区别四: 垃圾回收的过程不一样对于CMS收集器和G1收集器的不同,目前简单写了一下4点,有不足的地方后面再不断的更新修改。CMS收集器和G1收集器的区别 区别一: 使用范围不一样    CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集...

2018-08-19 16:27:44 15447 1

转载 RabbitMQ基础知识详解

什么是MQ?       MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。      RabbitMQ是MQ的一种。下面详细介绍一下RabbitMQ的基本概念。1、队列、生产者、消费者      队列是RabbitMQ的内部对象,用于存储...

2018-08-08 11:17:10 180

原创 Java基础之字符串创建于存储的机制

今天在牛客网上做题,基础题部分竟然做的很差。其中有一道题就是字符串的创建和存储机制。然后查阅了相关资料,将知识点做一个整理。先看一下博客上的题目:然后我就写了一个测试程序代码:程序中定义了两个字符串常量,字符串对象实例,以及字符数组,。将使用 == 和 equals()对这两个对象进行比较。结果如下: 下面就说一下原理:在java中字符串的声明与初始化有如下几种...

2018-07-26 12:50:50 285

转载 深入理解Java线程池

原文出处: 海 子      http://www.importnew.com/19011.html在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完...

2018-07-26 08:46:25 157

原创 Java并发编程思维导图

并发编程JDK-API线程安全 概念 性能与可伸缩性 解决死锁 如何让多线程下的类安全 类的线程安全性定义 实战:实现一个安全的单例模式 JAVA的详解 volatile关键字 使用场景 指令重排序 内存语义 原子操作的实现原理 CAS机制 CAS的ABA问题 锁 synchro...

2018-07-22 14:27:03 1730 1

原创 并发工具类:CountDownLatch(倒计时器)

CountDownLatch含义CountDownLatch: 从字面以上的意思是“门闩到计数”。也就是让一个线程或者多个线程等待其他线程结束后再继续自己的操作,类似加强版join().     通过一个简单的应用场景来说明一下上面一句话的意思:    比如火箭发射,为了保证火箭发射万无一失,必须在火箭发射之间进行各项的检查初始化工作。假设在火箭发射之间进行100项的初始化检查工作(此...

2018-07-22 11:52:34 482

原创 Java中如何安全终止一个线程?

在最初的JDK版本中,Thread类提供了一个线程终止的方法stop()方法,但是现在在JDK源码中发现,stop()方法已经被废弃。主要原因是:stop()方法太过暴力。强制终止一个正在执行的线程。这样的话会造成一些数据不一致的问题。 现在常用的是线程中断的方法:严格的讲,线程中断不会使线程立即退出,而是给线程发送一个通知,告诉目标线程,有人需要你退出啦!至于目标线程接到通知后如果处理,...

2018-07-20 16:37:16 12287 4

原创 Thread类中的方法:join()、sleep()、yield()之间的区别

目录1. Thread类中的常用方法简介2. Join()方法3. Sleep() 方法:不会释放锁4. Yield()方法:线程让步  不会释放锁1. Thread类中的常用方法简介首先,先看一下Thread类中的常见方法:最主要的是区分其中join()、sleep()、yield()的用法区别 2. Join()方法Thread的非静态方法join(...

2018-07-20 11:47:28 24037 5

原创 线程的生命周期及五种基本状态

关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的sta...

2018-07-20 10:17:59 1274

原创 什么是进程?什么是线程?进程与线程的区别?

目录什么是进程?什么是线程?为什么要有线程?进程与线程的区别?进程与线程的选择取决条件?什么是进程?什么是线程?进程:进程是并发执行程序在执行过程中资源分配和管理的基本单位(资源分配的最小单位)。进程可以理解为一个应用程序的执行过程,应用程序一旦执行,就是一个进程。每个进程都有自己独立的地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据...

2018-07-20 10:03:57 12896

原创 事务的4种隔离级别

隔离级别从高到低:可串行化(serializable)——》可重复读(repeatable read)——》读已提交(read committed)——》读未提交(read uncommitted) 读未提交(Read uncommitted): 顾名思义,就是一个事务可以读取另一个未提交事务的数据。【最低的隔离级别,什么都不需要做,一个事务可以读到另一个事务未提交的结果。所有的并发事务问...

2018-07-18 20:25:26 460

原创 PriorityQueue优先队列——堆结构的优秀实现类

最近在牛客网上做题时,遇到求中位数。看到使用到了优先队列PriorityQueue类,于是就在网上查阅了一些资料。PriorityQueue是Java.util包中的一个类,它逻辑上是使用堆结构(完全二叉树)实现,物理上使用动态数组实现。并不是像TreeMap一样完全有序,堆不是完全有序的(由堆的结构决定的)。接下来我们就通过分析堆的实现原理和PriorityQueue类源码来分析。以下是涉及的主...

2018-06-27 20:52:04 268

原创 常用正则表达式

        在平常的项目开发者中,我们在写js或者java代码时为了简化代码,以及一些输入字符串进行验证时,我们经常会用到正则表达式。熟悉正则表达式已经成为了软件开发人员必备的一项小技巧了。对于正则表达式的学习非常的简单,只要我们熟悉了一些正常表达式地基本语法,我们就可以很轻松的应对不同的字符串验证。对于正则表达式的基本语法我们可以参考一下:http://tool.oschina.net/up...

2018-05-21 17:09:42 229

原创 JSON框架之阿里fastjson的介绍

前言1.3 FastJson介绍在日常的java项目开发中,JSON的使用越来越频繁,对于Json的处理工具也有很多。接下来就介绍一下阿里开源的一个高性能的JSON框架FastJson,功能完善,完全支持标准JSON库,现在已经越来越受到开发者的青睐。1.2 FastJson的特点:    1) FastJson数据处理速度快,无论序列化(把JavaBean对象转化成Json格式的字符串)和反序列...

2018-05-10 22:12:30 24201 1

原创 IDEA下lombok安装,以及找不到get,set的问题

    今天尝试在IDEA中使用Lombok,但是在编译时,提示找不到set()和get()方法,我明明在javabean中使用了@Data注解,但是编译器就是找不到。于是从网上查询了很多的方法去解决,最后终于解决了。接下来我就将过程分享一下,希望能够帮助需要的人:Idea下安装lombok(需要二步)  第一步: pom.xml中加入lombok依赖包<!-- https://mvnrep...

2018-05-10 16:06:28 53764 31

转载 十年高级程序员从阿里离职,分享这些年的面试经验——offer篇

十年高级程序员从阿里离职,分享这些年的面试经验——offer篇时隔两年再一次的面临离职找工作,这一次换工作有些许的不舍,也有些许的无奈。个人所在的技术团队不错,两年时间成长了很多,也很不舍这个团队。但是,由于公司的某些原因和对于自身未来发展的综合考虑,又不得不得离去,去寻找更合适的地方成长和发展。相比于两年前,现在找工作没有那么的着急,也没有那么的迫切,也没有特别想去的公司,反正去大厂互联网公司基...

2018-04-25 17:06:12 612

转载 你应该知道的RPC原理

在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。  而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团队...

2018-04-06 16:43:31 238

原创 奶牛分苹果

题目描述n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 &l...

2018-03-31 16:39:16 501

转载 树形结构的数据库表Schema设计

文章转载自:http://blog.csdn.net/monkey_d_meng/article/details/6647488程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计合适的Sc...

2018-03-07 16:18:39 193

原创 B树、B+树、B-树

    最近在学习数据库中的索引时,遇到了数据结构中的B+树和B-树,以及相关的操作,所以参考了一些资料整理了下面的知识点。1. B树    B树也就是最基本的二叉搜索树,只不过换了个名字而已。每个非叶子节点最多只能存放两个孩子,其中节点的左孩子一定比该节点小,右孩子一定比该节点大,搜索节点在时间效率上是与二分查找是等价的(根节点左右孩子总数目差不多的情况下)。它与二分查找的优点是,在进行增删操作...

2018-03-07 10:45:46 229

原创 mysql里记录货币用什么字段类型好?

在java的开发中,货币在数据库中MySQL常用Decimal和Numric类型表示,这两种类型被MySQL实现为同样的类型。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定;例如:salary DECIMAL(9,2)在这个例子中,9(precision)代表将被用于存储值的总的小数位数,而2(scale)代表...

2018-03-06 16:42:45 65708 1

原创 一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15 ?

一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是18;但是如果重启(文中提到的)MySQL的话,这条记录的ID是15。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。         但是,如果我们使用表的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM...

2018-03-06 15:13:05 10487 2

原创 Java中的日期转化格式DateUtil工具类

最近在项目中经常会遇到各种的日期格式转化。所以,参考一些资料就写了一个工具类DateUtil。日期格式包括:年(yyyy)、年月(yyyyMM、yyyy-MM)、年月日(yyyyMMdd、yyyy-MM-dd)、年月日时分(yyyyMMddHHmm、yyyy-MM-dd HH:mm)、年月日时分秒(yyyyMMddHHMISS、yyyy-MM-dd HH:MI:SS)等各种格式。方法:1. 根据D...

2018-03-04 17:26:23 27722

转载 java可重入锁(ReentrantLock)的实现原理

转载自:http://blog.csdn.net/yanyan19880509/article/details/52345422因为这个博主写得太好了。太佩服了。前言相信学过java的人都知道 synchronized 这个关键词,也知道它用于控制多线程对并发资源的安全访问,兴许,你还用过Lock相关的功能,但你可能从来没有想过java中的锁底层的机制是怎么实现的。如果真是这样,而且你有兴趣了解,...

2018-03-03 16:55:55 1736

原创 Java内存模型之——重排序

重排序    重排序是编译器和处理器为了优化性能而对执行执行的顺序进行的重排序。现在大多数的处理器都会采用将指令乱序执行的方法。重排序的好处(在条件允许的情况下):直接运行当前能够立即执行的后续指令,避开获取下一条指令所需数据时造成的等待,提高处理器执行的效率。    在上面提到的“条件允许”是所涉及到的数据依赖性。数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作...

2018-03-03 16:18:04 296

原创 java中读取properties文件内容的五种方式

一、背景  最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题。就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,现和大家共享。二、项目环境介绍    Spring 4.2.6.RELEASE    Spri...

2018-03-02 11:24:14 1631

转载 Java集合---ConcurrentHashMap原理分析

一、背景:线程不安全的HashMap    因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器     HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他...

2018-02-28 17:23:34 136

原创 TCP三次握手与四次挥手过程解析

TCP三次握手和四次挥手的全过程     TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种表示:SYN(synchronous建立连接)ACK(acknowledgement 表示响应、确认)PSH(push表示有DATA数据传输)FIN(finish关闭连接)RST(reset表示连接重置)URG(urgent紧急指针字段值有效)三...

2018-02-28 15:37:26 596

原创 List、set、Map的底层实现原理

本文主要是参考了网上一些对java集合讲解的比较详细博客进行归纳总结,下面对java集合中几个比较常用的类归纳分析。ArrayList实现原理要点概括参考文献: http://zhangshixi.iteye.com/blog/674856l https://www.cnblogs.com/leesf456/p/5308358.htmlArrayList

2018-02-04 10:02:49 55680 4

转载 Java集合类解析

出自:https://www.cnblogs.com/leeplogs/p/5891861.html一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的

2018-02-01 16:39:43 231

原创 Java中递归与迭代的区别

Java中递归与迭代的区别 在找工作面试的过程中,遇到这样一个问题:递归与迭代的区别?当时感觉这个基础的问题回答的很差,值回答了简单的层面意思。所以,回来就查阅资料总结了一下。参考博客:http://blog.csdn.net/laoyang360/article/details/78558601. 基本概念 递归:在程序中,一个函数调用自身的编程方法称为递归。【函数自己调用自己】

2018-01-31 11:19:33 2202 1

原创 java中文件的读取实现,以及用到哪些类?

Java中读文件的代码实现,以及用到哪些类?在java代码中进行文件的读操作,一般使用FileReader,InputStreamReader和BufferedReader类进行操作。其中最重要的类似InputStreamReader,它是字节转化为字符的桥梁。比如读取文件——按照字节格式读取 比如读取文件——按照字符读取 比如文件读取——按照行读取  具体详细

2018-01-29 21:31:12 1177

原创 java中的栈、堆以及两者的区别

Java中的栈、堆、堆栈的区别Java内存分为栈内存和堆内存,都是java用来在Ram中存放数据的地方。与C++不同,java自动管理栈和堆,程序员不能直接的设置栈和堆。 1. 栈Java中的数据类型有两种,前面我已经讲过。基本数据类型的定义是通过如: 诸如这种形式的定义,称为自动变量。值得注意的是,自动变量存储的是字面的值,不是类的实例(即不是类的引用),这里并没有类的存

2018-01-29 15:55:14 278

原创 HashMap与HashTable的区别

HashMap与HashTable有什么区别?在面试中经常会问到这样的问题。于是,通过查阅一些资料,总结一下写下这篇博客。区别1:两者诞生的时间 不同。 HashTable产生于JDK1.1,而HashMap产生于JDK1.2。从时间上来说,HashMap要比HashTable出现得晚一些。区别2:类的继承体系不同可以看一下下面两幅图(HashMap和HashTable的类继承图)

2018-01-25 22:01:37 356

tomcatIntegration.jar

tomcat9.0.0.M19的修复方法tomcatIntegration.jar

2017-10-24

c3p0-0.9.1.2.jar

压缩包中包含了开源数据源C3P0开发依赖包,以及开发参考文档index.xml。开发过程中可以参考【doc】下面的index.xml文档。

2017-09-22

空空如也

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

TA关注的人

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