- 博客(28)
- 收藏
- 关注
转载 Spring思维导图,让Spring不再难懂(aop篇)
什么是aopAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。这种散布在各处的无关的代码被称为横切(cross...
2018-09-03 14:34:32 493
转载 Spring思维导图,让Spring不再难懂(cache篇)
关于缓存缓存是实际工作中非常常用的一种提高性能的方法。而在java中,所谓缓存,就是将程序或系统经常要调用的对象存在内存中,再次调用时可以快速从内存中获取对象,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。在增删改查中,数据库查询占据了数据库操作的80%以上,而非常频繁的磁盘I/O读取操作,会导致数据库性能极度低下。而数据库的重要性就不言而喻了: 数据库通常是...
2018-09-03 14:33:36 213
转载 Spring思维导图,让Spring不再难懂(mvc篇)
spring mvc简介与运行原理Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。原理.png (1) Http请求:客户端请求提交到DispatcherServlet。 (2) 寻找处理...
2018-09-03 14:04:12 721
转载 Spring思维导图,让Spring不再难懂(ioc篇)
写在前面写过java的都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。就好像我们无需考虑对象的销毁回收一样,因为java垃圾回收机制帮助我们实现了这个过程;而ioc则是让我们无需考虑对象的创建过程,由ioc容器帮我们实现对象的创建、注入等过程。Spring知识细节.png控制反转...
2018-09-03 11:30:52 212
转载 【转】Spring思维导图,让spring不再难懂【概述】
写在前面很多人在微信公众号中给我留言说想看spring的思维导图,正好也打算写。与其他框架相比,spring项目拥有更多的模块,我们常用的ioc,mvc,aop等,这些是spring的主要板块。一篇文章也不可能全部都讲,所以,我打算先把spring简介说一下,后续再写ioc,mvc和aop。关于SpringSpring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框...
2018-09-03 10:38:32 541
转载 一次完整的HTTP通信中,web浏览器和web服务器之间完成的七个步骤
1、建立TCP连接:在HTTP工作开始之前,web浏览器首先要通过网络与web服务器建立连接,该连接是通过TCP来完成的。为什么要先建立TCP呢?因为HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层次协议的连接,因此要先建立TCP连接,一般TCP连接的端口号是80 2、web浏览器向web服务器发送请求指令一旦建立了TCP连接,web浏览...
2018-08-31 16:16:27 2248
转载 Http协议的简单介绍
Web方面的东西,实际上挺多挺杂的,所以有的时候就需要一些整理,今天这里来简单介绍一下Http协议,算是对之前学习一些东西的整体,希望对自己或者对一些人有些帮助。首先从Http协议说起,Web浏览器和Web服务器之间进行通信需要遵循一定的规则,这个规则就是Http协议。这个地方很好理解,就像人与人之间的交流一样,只有在语言相通的情况下才能知道对方想要表达的意思。HTTP是HyperTe...
2018-08-31 16:15:01 252
转载 转 springMVC一个Controller处理所有用户请求的并发问题
个人分类: java-spring java springMVC一个Controller处理所有用户请求的并发问题有状态和无状态的对象基本概念: 有状态对象(Stateful Bean),就是有实例变量的对象 ,可以保存数据,是非线程安全的。一般是prototype scope。无状态对象(Stateless Bean),就是没有实例变量的对象,不能保存数据,是不变类,是线程安全的。...
2018-08-31 15:55:53 418
转载 Spring并发访问的线程安全性问题(高度总结)
下面的记录对spring中并发的总结。理论分析参考Spring中Singleton模式的线程安全,建议先看spring中的并发访问题:我们知道在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,绝大部分Bean都可以声明为singleton作用域。那么对于有状态的bean呢?Spring对一些(如RequestContextHolder、TransactionS...
2018-08-31 15:48:02 632
转载 阻塞消息队列LinkedBlockingQueue主要方法
BlockingQueue的核心方法:放入数据: offer(anObject):表示如果可能的话,将anObject加到BlockingQueue里,即如果BlockingQueue可以容纳, 则返回true,否则返回false.(本方法不阻塞当前执行方法的线程) offer(E o, long timeout, TimeUnit unit),可以设定等待的时间,如果在指定的时...
2018-08-31 11:02:20 5121
转载 ExecutorService 的理解与使用
接口 java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個线程池的实现。ExecutorService 样例这里有壹個简单的使用Java 实现的 Ex...
2018-08-31 11:01:05 134
转载 RabbitMQ与java、Spring结合实例详细讲解(转)
一、rabbitMQ简介1.1、rabbitMQ的优点(适用范围)1. 基于erlang语言开发具有高可用高并发的优点,适合集群服务器。2. 健壮、稳定、易用、跨平台、支持多种语言、文档齐全。3. 有消息确认机制和持久化机制,可靠性高。4. 开源其他MQ的优势:1. Apache ActiveMQ曝光率最高,但是可能会丢消息。2. ZeroMQ延迟很低、支持灵活拓扑,但是不支持消...
2018-08-31 10:59:48 228
转载 Linux定时任务 --- crontab
1.1 定时任务Crond介绍Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便会启动Crond任务调度服务,在我们前面的系统安装及开机启动优化的设置中,我们也设置保留了Crond开机自启动,Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作,如果有,便会根据其预先...
2018-08-31 10:58:04 285
转载 Spring框架下的定时任务quartz框架的使用
手头的这个项目需要用到定时任务,但之前没接触过这东西,所以不太会用,从网上找资料,大致了解了一下,其实也不难。Java的定时任务实现有三种,一种是使用JDK自带的Timer那个类来实现,另一种是使用quartz框架来实现,最后一种是在项目使用Spring框架的情况下用Spring框架来实现。JDK自带的类是单线程的,而且只能定义特定时间去执行任务,而不能指定任务执行的频率,所以一般用的较少,只...
2018-08-31 10:55:22 139
转载 spring定时任务的几种实现方式
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。...
2018-08-31 10:16:04 113
转载 获取输入流参数---request.getInputStream()
最近用到 String与InputStream相互转换 总结一下 1.String to InputStreamString str = "String to InputStream";InputStream in_nocode = new ByteArrayInputStream(str.getBytes()); InputStream in_wit...
2018-08-30 19:28:06 8848
转载 Json解析工具Jackson(使用注解)
官方WIKI:https://github.com/FasterXML/jackson-databind/wikijackson 1.x和2.x版本的注解是放置在不同的包下的1.x是在jackson core jar包org.codehaus.jackson.annotate下2.x是在jackson-databind包com.fasterxml.jackson.annotation下...
2018-08-30 10:07:48 1051
转载 Fastjson --- JSON解析
1、了解fastjson1.1 Fastjson介绍Fastjson是一个Java语言编写的JSON处理器。 1、遵循 http://json.org 标准,为其官方网站收录的参考实现之一。 2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。 3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。 4...
2018-08-30 10:02:54 148
转载 Jaxb 完全手册 -- XML与javabean的互转
Jaxb是JavaEE的规范.全称Java Architecture for XML Binding. 可以根据XML Schema产生Java类的技术.JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档. JAXB 2.0是JDK 1.6的组成部分。JAXB 2.2.3是JDK 1.7的组成部分。在实际使用不需要引入新的jar. ...
2018-08-29 17:33:06 189
转载 【转-整理】 JAXB注解 @XmlRootElement 及XML文件解析详解
Java代码 @Retention(value=RUNTIME) @Target(value=TYPE) public @interface XmlRootElement @Inherited @Retention(value=RUNTIME) @Target(value={PACKAGE,TYPE}) public @interface XmlA...
2018-08-29 17:15:24 1953
转载 使用XStream注解实现Java对象与XML互相转换的代码示例
本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例。 我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件。如:jdom、dom4j等。虽然他们的功能非常强大,但在使用上还是有点不那么习惯。对于格式比较固定的XML文档,它的结构没有变化或是很少变化,这时将它转换成我们熟悉的Java对象来操作的话,会使工作变得更容易一些,而xst...
2018-08-29 17:11:51 478
转载 通过xstream,将XML字符串和对象进行转换
今天我们要探讨的一个问题是,如何将xml格式的字符串转换成对象,以及对象转换成xml字符串。简介现如今,虽然数据的传输大部分都是用json格式来进行传输,但是xml毕竟也会有一些老的项目在进行使用,身为一个万能的程序员。我们又怎能不会使用它呢?正常的老式方法是通过获取节点来进行一系列操作,个人感觉太过于复杂、繁琐。今天推荐一套简单的api。XStream类。好了废话不多说,直接上代码...
2018-08-29 17:05:49 2848
转载 dom4j工具类---解析XML文档或XML字符串
package myDOM4J; import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.StringReader;import java.io.StringWriter;import java.util.HashMap;import java.util.List...
2018-08-29 17:00:00 1547
转载 使用XStream实现Java对象与XML互相转换
XStream简介XStream是一个Java对象与XML互相转换的工具类库。官网链接: http://x-stream.github.io/index.html简单使用下载页面:http://x-stream.github.io/download.html使用Maven构建项目的加入以下依赖:<dependency> <groupId>c...
2018-08-29 11:02:43 305
转载 Nginx的配置文件详解(超详细)
1、安装Nginx在安装Nginx之前,需确保系统已经安装了gcc、 openssl-devel、 pcre-devel和zlib-devel软件库。下面是Nginx安装过程:wget http://nginx.org/download/nginx-1.0.14.tar.gztar zxvf nginx-1.0.14.tar.gz./configure --with-http_stu...
2018-08-27 11:24:35 186743 13
转载 Map的四种遍历方式
前言: 前面学习总结了List的使用及效率对比,今天总结学习一下键值映射关系Map,顺便学习一下Android中使用Map需要注意哪些,以及谷歌官方针对Android对Map做了哪些优化。先了解下Map Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有继承于Collection接口 从Map集合中检索元素时,只要给出键对象,就会返...
2018-08-27 09:41:28 267
转载 JAVA多线程实现的四种方式
Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thread类创建线程Thread类本质上是实现了Runnable接...
2018-08-23 14:39:19 89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人