- 博客(35)
- 收藏
- 关注
原创 spring-boot入门学习笔记
1.Spring Boot 入门Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。Spring Boot具有如下特性:为基于Spring的开发
2017-04-09 22:17:19
1544
原创 linux 安装配置zookeeper
1.什么是zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooK
2017-04-09 22:15:50
455
原创 JAVA8 新特性详解
一:接口上定义的方法可以存在方法体二:支持Lambda 表达式首先看看在老版本的Java中是如何排列字符串的:只需要给静态方法 Collections.sort 传入一个List对象以及一个比较器来按指定顺序排列。通常做法都是创建一个匿名的比较器对象然后将其传递给sort方法。在Java 8 中你就没必要使用这种传统的匿名对象的方式了,Java 8提供了更简洁的语法,lambda表达式: 对于
2017-03-04 17:12:53
1193
原创 自己实现一个简单版的HashMap
public class MyHashMap { //默认初始化大小 16 private static final int DEFAULT_INITIAL_CAPACITY = 16; //默认负载因子 0.75 private static final float DEFAULT_LOAD_FACTOR = 0.75f;
2017-03-03 18:41:26
4082
3
转载 单点登录SSO
一、什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。二、单点登录解决了什么问题 解决了用户只需要登录一次就可以访问所有相互信任的应用系统,而不用重复登录。三、单点登录的技术实现机制 如下图所示: 当
2017-03-03 13:33:02
758
原创 Struts,Spring,Hibernate面试题总结
**Hibernate工作原理及为什么要用?**原理:1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持久化操作6. 提交事务7. 关闭Session8. 关闭SesstionFactory**为什么要用:*** 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复
2017-03-02 14:07:06
558
转载 Java线程面试题 Top 50 (转载)
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面
2017-03-02 12:25:07
620
转载 通过配置多个DispatcherServlet解决SpringMVC RESTAPI前后端分离资源访问的问题
起因spring MVC项目需要前后端分离,REST API 和 静态资源 需要走不同的DispatcherServlet。静态资源目录如下:目录结构修改web.xml,添加不同的DispatcherServlet restAppServlet org.springframework.web.servlet.DispatcherServlet
2017-03-02 01:44:37
2128
1
原创 springMVC从接受请求到完成响应的过程
sprinmvc大致的工作原理如下: **简要说明:**1.用户发起请求到前端控制器。2.前端控制器通过处理器映射器查找hander。3.处理器映射器返回执行链。a)hander对象b)拦截器(集合)4.前端控制器通处理器适配器包装,执行hander对象。思考:为什么要通过适配器来执行?5.通过模型hander处理业务逻辑。6.处理业务完成后,返回ModeAndView对象,其中有
2017-03-01 22:13:24
10352
原创 java中24种设计模式及7大设计原则
**24 种设计模式****一、创建型模式**1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.3、工厂模式(facto
2017-03-01 15:56:54
347
原创 spring的@Transactional注解用法
概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。 Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects) 支持声明式事
2017-03-01 13:48:00
517
原创 web.xml中配置CharacterEncodingFilter编码过滤器的原理
在web.xml文件中,我们经常可以看到配置的统一编码过滤器,他继承了OncePerRequestFilter,而OncePerRequestFilter继承自GenericFilterBean,GenericFilterBean实现了filter,因此可见CharacterEncodingFilter具有filter的所有特性;即实现拦截请求的功能,在HttpServletRequest到达 Se
2017-03-01 13:28:23
25455
2
原创 Struts2和SpringMVC的比较
**SpringMVC工作流程描述** 1. 用户向服务器发送请求,请求被SpringMVC 前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet 对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象 (包括Handler对象以及Ha
2017-02-25 14:33:11
1722
原创 Linux下安装RabbitMQ和solr
**安装RabbitMQ**上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/local/src/rabbitmq/安装:rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm**启动、停止**service rabbitmq-server startservice rabbitmq-server stopservic
2017-02-24 01:30:17
349
原创 linux下mysql主从复制搭建过程
mysql主从复制的原理在网上都可以找到,现在介绍一下在linux系统下配置mysql主从复制过程(本实例通过单台及其的多实例来完成,也可以通多台及其来完成); 第一步:以其中的一个实例来作为主库(也称master),我本机安装了3306和3307两个实例,其中以3306作为master,3307作为slave; 打开master的bin-log 编辑log-bin选项 第二步:确保serv
2017-02-24 00:44:31
549
原创 Linux下安装Nginx服务
yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl—develmkdir /usr/local/src/nginxcd /usr/local/src/nginxwget http://nginx.org/do
2017-02-23 01:52:11
301
原创 HttpMessageConverter详解
在springMVC的设计中,HttpMessageConverter接口扮演着重要的角色,我们知道springmvc可以接收不同的消息形式,也可以将不同的消息形式响应回去(最常见的是json);这些消息所蕴含的“有效信息”是一致的,那么各种不同的消息转换器,都会生成同样的转换结果。至于各种消息间解析细节的不同,就被屏蔽在不同的HttpMessageConverter实现类中了。HttpMessag
2017-02-20 16:20:53
6782
原创 Redis应用场景
MySQL+Memcached架构的问题Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现。Memcached服务器使用基于Slab的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销。各个Slab按需动态分配一个page的内存(和4Kpage的概念不同,这里默认page为1M),page
2017-02-17 01:42:21
293
原创 Java中的注解是如何工作的
自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何编写自定义的注解(通过例子),什么情况下可以使用注解以及最新注解和ADF(应用开发框架)。这会花点儿时间,所以为自己准备一杯咖啡,让我们来进入注解
2017-02-12 21:30:48
275
原创 Activiti5工作主要流主要源码解析
从整体结构来看ProcessEngineConfiguration很关键,其实现类为org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl,其中其初始化的方法为:protectedvoidinit(){initHistoryLevel();initExpressionManager();initVariableTypes();
2017-02-11 16:20:11
1349
原创 mysql数据库服务提示This function has none of DETERMINISTIC的解决方法
This function has none of DETERMINISTIC, NO SQL解决办法创建存储过程时出错信息:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled
2017-02-11 15:55:41
1850
原创 创建JSTL标签库
jstl在javaweb项目中经常使用,先做简要介绍:1. jstl的概述 * apache的东西,依赖EL * 使用jstl需要导入jstl1.2.jar * 四大库: > core:核心库,重点 > fmt:格式化:日期、数字 > sql:过时 > xml:过时2. 导入标签库 * jar包 * 在jsp页面中:<%@taglib prefix
2017-02-11 15:52:16
311
原创 java开发常被问到的面试题-HashMap的底层原理
java开发人员面试的时候会经常被问到HashMap的底层是怎么实现的,以下做简要分析: HashMap是基于哈希表的Map接口的非同步实现, HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 首先来了解一下数据结构中数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(
2017-02-11 14:22:12
25539
原创 HashMap底层原理
首先简单说说HashMap和HashTable的区别:最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全,在多线程环境下若使用HashMap需要使用Collections.synchronizedMap()方法来获取一个线程安全的集合;HashMap可以使用null作为key,而Hashtable则不允许null作为key;HashMap的初始容量为16,Hashtab
2017-02-11 02:32:46
1905
转载 java线程内存模型,线程、工作内存、主内存
java线程内存模型 线程、工作内存、主内存三者之间的交互关系图:key edeas所有线程共享主内存 每个线程有自己的工作内存 refreshing local memory to/from main memory must comply to JMM rules产生线程安全的原因 线程的working memory是cpu的寄存器和高速缓存的抽象描述:现在的计算机,cpu在计算的时候,
2017-02-03 14:31:51
832
转载 redis的主从复制配置
redis的主从复制配置 一、 原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从复制的一些特点: 1.master可以有多个slave 2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构 3.主从复制
2017-01-30 14:50:00
254
原创 activiti5工作流入门小程序
最近工作有接触activiti5工作流,特意到activiti5官网学习了activiti5的一些简单的使用过,在此写一个简单的activiti5程序,使用mysql作为数据库。有不正确的多多指导。
2017-01-15 15:29:51
1994
转载 MySQL数据库的高可用性分析
MySQL数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在MySQL数据库中。存储数据的安全性和可靠性是生产数据库的关注重点。本文分析了目前采用较多的保障MySQL可用性方案。MySQL ReplicationMySQL Replication是MySQL官方提供的主从同步方案,用于将一个MySQL实例的数据,同步到另一个实例中。Replication为保证数据安全做了重要的保证,也
2016-12-25 14:40:01
401
转载 MySQL 大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用TINYINT、SMALLINT、M
2016-12-25 14:23:14
612
转载 Mysql开发实践8问,你能hold住几个?
最近项目对DB依赖比较重,梳理了这段时间使用Mysql遇到的8个比较具有代表性的问题,答案也比较偏开发实践,没有DBA专业和深入,有出入的请使劲拍砖!…1、Mysql读写性能是多少,有哪些性能相关的配置参数? 2、Mysql负载高时,如何找到是由哪些SQL引起的? 3、如何针对具体的SQL做优化? 4、SQL层面已难以优化,请求量继续增大时的应对策略? 5、Mysql如何做主从数据同步?
2016-12-25 14:14:11
375
原创 spring引用配置文件的时候classpath:和classpath*:的区别
我们平时使用spring框架的时候经常需要引入一些配置文件,如.propertis文件。其实有号和没有星号的区别不是很大,但有细微区别,这里我结合spring的源码简要分析有号和没有*号的的区别,有误的地方请指出。 classparth:只会从第一个classpath中加载,而classpath*:会从所有的classpath中加载如果要加载的资源,不在当前ClassLoader的路径里,那么如果
2016-12-05 22:01:49
2240
原创 mybatis中获取SqlSessionFactory的几种方法及其相关使用
其实mybatis中我们和数据库打交道主要还是通过sqlSession来完成,我们可以使用这个接口来执行命令、获取映射器和事务管理器等等。在这里我主要列举了获取sqlSession实例的几种方法,仅供参考!如也请发现有误的地方请提提出。SqlSession是由SqlSessionFactory实例创建的,SqlSessionFactory对象张包含了创建SqlSession实例的所有方法。而Sql
2016-12-03 18:02:25
7625
转载 Git代码分支管理在项目中的http://lib.csdn.net/article/git/18691
Git是一个非常强大的分布式版本管理工具,分布式简单的理解就是在本地也会copy一份代码数据,用户机器可以当作一台本地服务器,用于代码的离线的提交,即你坐在青海湖边在没网络的情况下也可以提交自己的代码,想想就流逼,但是真正提交到中央仓库还是需要网络才行,不过这个功能已经可以让大家不受中央集群的服务状态影响,即使挂掉了自己还可以进行代码提交,等服务器正常后再次提交即可,本文不讲述git与svn的区别
2016-11-25 14:33:20
480
转载 【小程序】微信小程序开发实践http://blog.csdn.net/diandianxiyu_geek/article/details/53068012
帐号相关流程注册范围企业政府媒体其他组织换句话讲就是不让个人开发者注册。 :)填写企业信息不能使用和之前的公众号账户相同的邮箱,也就是说小程序是和微信公众号一个层级的。填写公司机构信息,对公账户信息绑定管理员微信企业认证公司对公账户对微信进行打款账户自动验证后,自动认证通过,并将认证资金退回公司对公账户,费用在1元内随机小
2016-11-25 14:29:17
597
转载 转载自http://blog.csdn.net/huxu981598436/article/details/51626569
一.Jaxb处理java对象和xml之间转换常用的annotation有:@XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessorType@XmlAccessorOrder@XmlTransient@XmlJavaTypeAdapter二.常用annotation使用说明1.XmlType @XmlTy
2016-11-25 02:55:08
480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人