J2ee
农夫渔民
漫漫修行路
展开
-
Redis开发与运维读书笔记
Redis开发与运维读书笔记虽然一直使用redis,但是对redis缺少整体的一个学习,这两天趁着有时间就把这本书拿出来看了下,这本书应该来说是很有阅读空间的,读的过程做了些笔记,相当于备忘单线程架构redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务为什么单线程还能这么快 纯内存访问,Redis将所有...原创 2019-04-23 19:05:31 · 249 阅读 · 0 评论 -
【springMvc学习记录之一】spring DispatcherServlet
【springMvc学习记录之一】DispatcherServletspringMvc model-view-controller (MVC)是spring为web开发提供的一个框架。这个框架就是围绕DispatcherServlet类来设计。springMvc框架类似于其他mvc框架,都是由请求驱动的(request-driven)。Disp...原创 2019-03-25 18:59:51 · 217 阅读 · 0 评论 -
java并发之AbstractQueuedSynchronizer同步器
java并发之AbstractQueuedSynchronizer一、概述谈到java的并发编程,就离不开JUC,JUC指的是java.util.concurrent包,里面包含了需要java并发的工具类,而谈到JUC,就不得不谈AbstractQueuedSynchronizer(AQS)!AQS:抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同...原创 2019-03-18 19:47:13 · 167 阅读 · 0 评论 -
分布式系统中的一致性解决方案
分布式系统中的一致性解决方案 分布式系统因为不用应用运行于不同的容器内,导致一个业务需要调用不同的系统来完成,因为不同的系统有不同的数据库,无法像单体应用那样处理事务,这就有可能导致数据的不一致,针对这种情况,业界也有很多解决方案。可以选择分布式事务框架方案,目前主流的分布式事务框架大致可分为3类实现 :基于XA协议的两阶段提交(2P...原创 2019-03-22 00:56:37 · 187 阅读 · 0 评论 -
分布式系统的一些理论
分布式系统的一些理论“什么是分布式系统?这取决于看系统的角度。对于坐在键盘前使用IBM个人电脑的人来说,电脑不是一个分布式的系统。但对于在电脑主板上趴着的虫子来说,这台电脑就是一个分布式系统。” —— Leslie Lamport分布式系统中的一些理论:CAP原则CAP原则又称CAP定理,指的是在一个分布式系统中, C...原创 2019-03-22 00:14:06 · 164 阅读 · 0 评论 -
spring container
spring containerorg.springframework.context.ApplicationContext接口代表一个spring container,它通过读取元数据来初始化、配置和组装beans。元数据的变现形式一般为xml配置文件、java注解、java代码。元数据允许开发者表达组成应用程序的对...原创 2019-03-25 15:00:42 · 871 阅读 · 0 评论 -
Spring之基于注解的容器配置
Spring之基于注解的容器配置@Required@required注解用于bean的property注解,egpublic class SimpleMovieLister { private MovieFinder movieFinder; @Required public void setMovieF...原创 2019-03-25 12:41:15 · 169 阅读 · 0 评论 -
分布式系统与一致性问题
分布式理解分布式这个概念这几年越来越火热,今天也来谈谈项目改造过程中对于分布式系统的理解,传统的应用是将所有的模块放在单体tomcat上运行,所以方法间的调用范围都是在同一个jvm内。这在业务初期时很有效的,毕竟业务初期开发资源、业务量都比较稀少,才用单体应用开发简单、部署快速,出现问题可以快速定位,而且因为运行在一...原创 2019-03-21 19:59:48 · 617 阅读 · 0 评论 -
spring容器扩展之FactoryBean
Spring容器扩展之FactoryBean FactoryBean接口是Spring IoC容器实例化逻辑的扩展点。一、区别FactoryBean和BeanFactory首先不要混淆FactoryBean和BeanFactory。BeanFactory直译是生产Bean的工厂,在Srping中就是容器,常用的Applica...原创 2019-03-25 10:54:39 · 393 阅读 · 1 评论 -
Spring Transaction Management
Spring Transaction Managementjava的事务类型:JDBC事务、JTA(Java Transaction API)事务、容器事务。这是从事务的实现角度区分的。站在事务管理的角度,可以把Java中用到的事务分为本地事务和全局事务。本地事务:不用事务的编程框架来管理事务,直接使用资源管理器来控制事务。典型的就是ja...原创 2019-03-22 16:22:31 · 242 阅读 · 0 评论 -
spring profiles properties
spring profiles propertiesspring的profiles为多环境配置提供了最佳事件,如果一个系统需要qa测试环境与上线环境,两个环境的数据源不一样,传统的数据源配置是这样的@Bean(destroyMethod="")public DataSource dataSource() throws Excepti...原创 2019-03-23 00:32:43 · 965 阅读 · 0 评论 -
spring bean Dependencies
spring bean overviewspring Ioc容器管理bean,先看下一个通用的bean xml配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/...原创 2019-03-23 19:00:45 · 406 阅读 · 0 评论 -
elasticsearch的内部分片原理
elasticsearch的内部分片原理我们知道elasticsearch的搜索是基于倒排索引,倒排索引被写入磁盘后是不可改变的:它永远不会修改。不变性有重要的价值:不需要锁。如果你从来不更新索引,你就不需要担心多进程同时修改数据的问题。 一旦索引被读入内核的文件系统缓存,便会留在哪里,由于其不变性。只要文件系统缓...原创 2019-03-28 12:53:11 · 1298 阅读 · 0 评论 -
elasticsearch之分布式搜索过程
elasticsearch之分布式搜索过程elasticsearch搜索被执行成一个两阶段过程,我们称之为query then fetch查询阶段:在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的 _优先队列_。一个优先队列仅仅是一个存有top-n匹配文档的...原创 2019-03-28 10:14:31 · 234 阅读 · 0 评论 -
elasticsearch之查询
elasticsearch之查询Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表例如,假设我们有两个文档,每个文档的content域包含如下内容:The quick brown fox jum...原创 2019-03-27 19:30:24 · 127 阅读 · 0 评论 -
ThreadLocal原理解析
ThreadLocal原理解析 import java.util.concurrent.atomic.AtomicInteger; public class ThreadId { // Atomic integer containing the next thread ID to be assigned ...原创 2019-03-31 19:11:35 · 145 阅读 · 0 评论 -
spring aware
Aware,是感应和感知的意思。当bean实现了对应的Aware接口时,BeanFactory会在生产bean时根据它所实现的Aware接口,给bean注入对应的属性,从而让bean获取外界的信息。aware的层次结构如下简单分析下各个接口的使用org.springframework.context.ApplicationContextAware接口实现该接口的类将会获取App...原创 2019-03-24 16:23:00 · 137 阅读 · 0 评论 -
spring容器生命周期回调
spring容器生命周期回调上一篇文章中我们谈了spring bean生命周期回调,这些都是建立在容器已经启动的前提下,那么如果想参与spring 容器的生命周期回调,我们该怎办?spring提供了一些接口Lifecycle接口如下public interface Lifecycle { void star...原创 2019-03-24 15:09:29 · 740 阅读 · 0 评论 -
spring bean 生命周期回调
spring bean 生命周期回调spring bean的生命周期回调有两种:初始化回调(init-method) 销毁回调(destory-method)实现生命周期回调有三种方法:实现接口、xml配置、使用注解初始化生命周期回调(init-method)实现:实现org.springframework.beans.fact...原创 2019-03-24 14:51:34 · 432 阅读 · 0 评论 -
spring bean scope
spring bean scopespring bean scope有如下几种取值scope 描述 singleton (Default) Scopes a single bean definition to a single object instance per Spring IoC contain...原创 2019-03-23 23:01:15 · 488 阅读 · 0 评论 -
spring容器扩展之BeanFactoryPostProcessor
spring容器扩展之BeanFactoryPostProcessorpring允许BeanFactoryPostProcessor在容器创建bean之前读取bean配置元数据,并可进行修改。例如增加bean的属性和值,重新设置bean是否作为自动装配的侯选者,重设bean的依赖项等等。在srping配置文件中可以同时配置多个BeanFactoryPo...原创 2019-03-24 23:15:22 · 151 阅读 · 0 评论 -
spring 容器扩展之BeanPostProcessor
spring 容器扩展之BeanPostProcessorspring的BeanPostProcessor接口给开发者提供了一个容器扩展的入口,在Spring容器完成Bean实例化和属性设置后,并且在bean调用初始化方法之前或之后。因此BeanPostProcessor(Bean后置处理器)常用在:对bean内部的值进行修改;实现Bean的动态...原创 2019-03-24 22:56:01 · 240 阅读 · 0 评论 -
spring bean 生命周期
spring bean 生命周期spring bean的生命周期从容器启动开始到容器停止运行,如图代码如下package com.spring.model;import org.springframework.beans.factory.DisposableBean;import org.springfra...原创 2019-03-24 19:56:50 · 160 阅读 · 0 评论 -
java 数据结构之HashTable
java 数据结构之HashTableHashTable是一个比较早的类,也是一个数组链表的数据结构,跟HashMap特别像,都实现了Map接口,但是HashTable只允许non-null的key或者value,另外HashTable是线程安全...原创 2019-03-14 11:10:43 · 365 阅读 · 0 评论 -
spring之一 bean初始化
spring之一 bean初始化spring bean生命周期Bean容器找到配置文件中Spring Bean的定义。Bean容器利用Java Reflection API创建一个Bean的实例。如果涉及到一些属性值 利用set方法设置一些属性值。如果Bean实现了BeanNameAware接口,调用setBeanName()方法,传入Bean的名字。如果Bean实现了BeanCl原创 2018-03-14 20:38:53 · 355 阅读 · 0 评论 -
Tcp协议之三次握手四次挥手学习一
一、分层网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图所示: TCP/IP协议族的四个层次每一层分不同功能: 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。...原创 2018-02-27 15:32:04 · 190 阅读 · 0 评论 -
WebService学习
一、WebService学习 WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。 所谓远程调用,就是一台计算机A上的一个程序可以调用到另外一台计算机B上的一个对象的方法。原创 2017-09-25 10:39:13 · 211 阅读 · 0 评论 -
Axis2框架实现WebService
Axis2快速入门:http://axis.apache.org/axis2/java/core/docs/quickstartguide.html一、Eclipse axis2插件安装Axis2主页上有关于插件的安装方法;见http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html#Installa原创 2017-09-26 10:41:24 · 319 阅读 · 0 评论 -
JAVA RMI使用
Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法Java RMI概念在Java中,只要一个类继承了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端访问并提供一定的服务。JavaDoc描述:Remote 接口用于标识其方法可以从非本地原创 2017-09-22 18:41:04 · 191 阅读 · 0 评论 -
Tomcat6配置数据源
tomcat6配置数据源的三种方式。原创 2015-08-14 16:29:07 · 655 阅读 · 0 评论 -
Struts2 下载取消报异常最终解决办法 1.0 版本
http://sunspot.blog.51cto.com/372554/474983转载 2013-06-07 19:44:31 · 410 阅读 · 0 评论 -
java数据结构之ArrayList
java数据结构之ArrayList ArrayList优点:1、根据下标遍历元素效率较高。2、根据下标访问元素效率较高。3、在数组的基础上封装了对元素操作的方法。4、可以自动扩容。缺点:1、插入和删除的效率比较低。2、根据内容查找元素的效率较低。ArrayList的底...原创 2019-03-14 13:21:43 · 202 阅读 · 0 评论 -
java数据结构之Queue
java数据结构之Queuejava的数据结构比较多,一个个说也没那么多时间,所以挑一些上层接口来集中说下,今天说说Queue这个接口。Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deq...原创 2019-03-14 15:55:10 · 159 阅读 · 0 评论 -
java并发之AQS共享模式源码解读
java并发之AQS共享模式源码解读上一篇文章简单解读了AQS的源码以及独占模式下获取锁的流程以及细节,碍于篇幅,这篇文章来说说AQS的共享模式。共享锁的一个实现类就是信号量Semaphore,Semaphores一般用于对某种访问资源的限制,一个信号量相当于持有一些许可(permits),线程可以调用Semaphore对象的ac...原创 2019-03-19 15:32:57 · 350 阅读 · 0 评论 -
java小知识之不可不(immutable)类的设计
一、不可变类简介不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。二、不可变类的优点说完可变类和不可变类的区别,我们需要进一步了解为什么要有不可变类?这样的特性对JAVA来说带来怎样的好...原创 2019-03-17 18:50:04 · 407 阅读 · 0 评论 -
java并发编程之synchronized
java并发编程之synchronized上一篇文章我们说了java线程的概念以及竞争的发生,这边文章就来说说java的并发编程并发与并行的区别:并行:是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)比如我跟两个网友聊天,左手操作一个电脑跟甲聊,同时右手用另一台电脑跟乙聊天,这就叫并...原创 2019-03-17 17:48:02 · 142 阅读 · 0 评论 -
java基础之线程
java基础之线程线程是java语言中比较重要的一个概念,这篇文章就来写写java中的线程,包含的知识点有点多,包括线程基础、多线程基础、juc包。先总结下java中的线程。线程概念:操作系统中的多任务:一个程序同时执行多个任务。例如在编辑或者下载邮件的同时可以打印文件,但是并发的进程数并...原创 2019-03-17 15:26:52 · 173 阅读 · 0 评论 -
java基础之异常体系
java基础之异常体系java异常体系介绍异常是指由于各种不期而至的情况,导致程序中断运行的一种指令流,如:文件找不到、非法参数、网络超时等。为了保证正序正常运行,在设计程序时必须考虑到各种异常情况,并正确的对异常进行处理。异常也是一种对象,java当中定义了许多异常类,并且定义了基类java.lang.Th...原创 2019-03-17 14:10:44 · 369 阅读 · 0 评论 -
java小知识之==与equals的区别
java小知识之==与equals的区别关于java==与equals之间的区别经常会被问到,今天就这边简单写下,对于java基础类型byte,short,char,int,long,float,double,boolean == 比较的是他们的值对于引用数据类型类型,==比较的是他们在内存中的地址是否相等,准确的说是比较他们...原创 2019-03-16 21:17:17 · 135 阅读 · 0 评论 -
java基础之proxy
java基础之动态代理什么是动态代理 动态代理作用 动态代理demo什么是动态代理?动态代理(以下称代理),在运行时创建一个实现某些给定接口或者类的新类(也称“动态代理类”)及其实例(对象)动态代理的实现有两种1、使用java proxy类,只能代理inteface2、使用CGLIB框架在运行时...原创 2019-03-16 18:48:18 · 296 阅读 · 0 评论