- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 Docker
Docker简介1.虚拟化什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。...
2019-02-15 17:12:26 236
原创 CAS
什么是单点登录 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。什么是CAS CAS 是 ...
2019-02-15 11:16:01 327
原创 JMS
JMS什么是JMS JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。 JMS本身只定义了一系列的接口规范,是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC(java Database Conn...
2019-02-15 10:12:29 299
原创 Frreemarker
网页静态化技术Freemarker 网页静态化解决方案在实际开发中运用比较多,例如新闻、电商网站等等。 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信息,这样的情况同样也适用于使用网页静态化来解决。 网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景不同,缓存比较适合小规模的数据,而网页静态化比较适合大规模且相对变化不太频繁的数据。...
2019-02-14 16:32:57 335
原创 Solr
什么是Solr 大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。 这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个流行的开源搜索服务器,它通过使用类似REST的HTTP API,这就确保你能从几乎任何编程语言来使用solr。 Solr是一个开源搜索平台,用于构建搜索应用...
2019-02-14 15:24:25 188
原创 Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definiti
报错信息:Action:Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true只需要再配置文件中加入如下即可 main: allow-bean-definition-overriding: tru...
2019-01-07 14:52:41 14864 1
原创 Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdb
报错信息Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver ...
2019-01-07 14:46:24 2053
原创 java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized
在用spring boot的时候一直报com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.这个错误错误原因:Mysql和本地时区不...
2019-01-07 14:42:25 505
原创 Nginx简单入门与反向代理和负载均衡
什么是Nginx Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔•西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。应用场景http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网...
2018-12-27 16:09:14 200
转载 Zookeeper的Leader选举
http://www.cnblogs.com/leesf456/p/6107600.html 一、前言 前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举2.1Leader选举概述 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出...
2018-12-26 15:53:36 156
原创 Linux安装客户端出现libncurses.so.5 is needed by MySQL-client
在安装Mysql客户端时出现一下错误输入: yum install libncurses.so.5然后就可以安装了
2018-12-25 11:40:31 4309 1
原创 Linux安装MySql出现libc.so.6 is needed by MySQL-server...... 的问题
安装Mysql 的时候出现了以下所示问题 原因是我安装的是64位的Linux ,64位的默认只会安装自己所需要的包对于其他的包不会安装,所以安装一下其他的包就可以啦。解决步骤1)首先用 yum list glibc* 查看一下我之前安装过一些,所以如果你没安装过下面可安装的包应该还挺多的2) 我是直接把剩下的可安装的 都安装了一边,如第一个:yum install glibc.i6...
2018-12-25 11:33:19 4419
原创 Zookeeper集群
zookeeper集群简介 大部分分布式应用需要一个主控、协调器或者控制器来管理物理分布的子进程。目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器,zookeeper提供通用的分布式锁服务,用以协调分布式应用。所以说zookeeper是分布式应用的协作服务。 zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并...
2018-12-24 15:15:25 166
原创 Redis 安装和配置以及简单使用
Redis 的特性多种数据类型存储① 字符串类型② 散列列表③ 列表类型④ 集合类型⑤ 有序集合类型内存存储与持久化① 内存的读写速度远快于硬盘② 自身提供了持久化功能(RDB,AOF)...
2018-12-19 17:36:35 166
原创 Maven项目出现 Could not calculate build plan:plugin 错误解决办法
通常情况下删除本地配置仓库中 org.apache.maven.plugins:maven-resources-plugin所在目录。然后右击项目 Maven->Update Project->勾选 Force Update of Snapshots/Releases即可但是当我出现这个状况的时候网上的所用的方法都不管用,不管怎么尝试都无法从中央仓库中下载东西,搞半天还是在...
2018-12-10 17:47:58 2503 1
原创 Sping Security框架入门小Demo
Sping Security 简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系...
2018-12-10 17:36:25 157
原创 线程的状态以及状态之间的相互转换:
线程的状态以及状态之间的相互转换:新建状态(New):新创建了一个线程对象。就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直...
2018-12-10 11:41:23 723
原创 Dubbo入门小Demo
dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。注册中心Zookeeper 官方推荐使用 zookeeper 注册中心。注册中心负责服务地址的注...
2018-12-10 11:40:11 400
原创 Maven编译项目时报错Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
使用Maven编译项目时报错Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean,这种错误的原因是大部分是你已经启动了一个comcat所导致的解决方法:鼠标点击 X 进行关闭运行失败的 Console页,然后再点击红色的正方形即可...
2018-11-19 14:08:15 902
原创 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.Arr
java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList c错误在搭建ssm的项目时出现了上面所说的错误,出现这个错误的原因是SpringMVC 默认是没有对象转换成json的转换器的,需要手动添加jacjson依赖。只需要将依赖添加到p...
2018-11-19 14:01:43 722
原创 java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config 错误
出现这个错误主要是缺少jstl.jar包所导致的解决方案如果是普通的web项目只需要添加上jar包即可如果是maven项目 添加上一下依赖即可<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>...
2018-11-19 13:53:57 359
原创 tomcat启动报错:Address already in use:JVM_Bind
tomcat启动时出现Address already in use: JVM_Bind 的原因是因为端口被占用l ,有可能是因为多次启动tomcat或者启动了多个tomcat,或者是其他应用程序或者服务占用了。解决办法:①打开cmd 输入netstat -ano 这个命令是查看所有端口的占用情况,在这里我的Maven项目用的tomcat的端口用的是9000在这里可以看到占用9000端口的...
2018-11-19 13:49:55 5867
原创 关于ognl
OGNL是:对象图形导航语言。原ognl是单个对象的,在struts2的应用是多个对象的,struts2的类型转换也是通过ognl来实现的。Struts2中默认的表达式语言就是ognl,struts2的取值设值都是通过ognl来实现的,struts2要依靠它的标签才可以使用ognl。相对于jstl或者其他表达式语言,它有如下优势:① 能够调用对象实例的方法② 能够调用类的静态方法③ ...
2018-11-12 18:06:49 125
原创 在Web项目中配置Spring的IOC容器
如果需要在Web项目中使用Spring的IOC容器,可以在Web项目配置文件web.xml中做出如下配置: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> &l...
2018-10-27 09:42:13 290
原创 Spring的Bean加载过程
在加载Bean时需要经历11个步骤instantiate bean 对象实例化属性注入如果Bean 实现了BeanNameAware 执行setBeanName 方法如果Bean实现了BeanFactoryAware 或者ApplicationContextAware 可执行设置工厂setBeanFactory 方法或者上下文对象setApplicationContext方法如果Bea...
2018-10-26 15:29:35 171
原创 基于JDK的动态代理
代理模式是GOF提出的23种设计模式中最为经典的模式之一,代理模式是对象的结构模式,它给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。简单的说,代理对象可以完成比原对象更多的职责,当需要为原对象添加横切关注功能时,就可以使用原对象的代理对象。下面是一个简单的入门案例①先写一个接口 并且实现这个接口public interface UserService { void ad...
2018-10-26 15:04:07 163
原创 在Web项目中配置Spring的IOC容器
如何在Web项目中配置Spring的IOC容器?如果需要在Web项目中使用Spring的IOC容器,可以在Web项目配置文件web.xml中做出如下配置: &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt; &
2018-10-26 14:16:44 748
原创 AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)
连接点(Joinpoint):程序执行的某个特定位置(如:某个方法调用前、调用后,方法抛出异常后)。一个类或一段程序代码拥有一些具有边界性质的特定点,这些代码中的特定点就是连接点。Spring仅支持方法的连接点。切点(Pointcut):如果连接点相当于数据中的记录,那么切点相当于查询条件,一个切点可以匹配多个连接点。Spring AOP的规则解析引擎负责解析切点所设定的查询条件,找到对应的连...
2018-10-26 11:54:25 3055
原创 ThreadLocal类简单介绍
在之前的博客中提到过很多次ThreadLocal类今天对它简单的说一下ThreadLocal,顾名思义是线程的一个本地化对象,当工作于多线程中的对象使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程分配一个独立的变量副本,所以每一个线程都可以独立的改变自己的副本,而不影响其他线程所对应的副本。从线程的角度看,这个变量就像是线程的本地变量。ThreadLocal为...
2018-10-26 11:09:46 209 1
原创 Spring中Bean的作用域
在Spring的早期版本中,仅有两个作用域:singleton和prototype,前者表示Bean以单例的方式存在;后者表示每次从容器中调用Bean时,都会返回一个新的实例,prototype通常翻译为原型。Spring 2.x中针对WebApplicationContext新增了3个作用域,分别是:request(每次HTTP请求都会创建一个新的Bean)、session(同一个HttpS...
2018-10-26 10:28:48 140
原创 什么是IOC和DI?DI是如何实现的?
什么是IOC和DI?DI是如何实现的?IOC(Inversion of Control)叫控制反转, DI(Dependency Injection)叫依赖注入,是对IOC更简单的诠释。IOC 控制反转是把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的"控制反转"就是对组件对象控制权的转移,从程序代码本身转移到了外部容器,由容器来创建对象并管理对象...
2018-10-26 10:15:21 6420 1
原创 Session加载实体对象的过程
Session加载实体对象的过程① Session在调用数据库查询功能之前,首先会在一级缓存中通过实体类型和主键进行查找,如果一级缓存查找命中且数据状态合法,则直接返回;② 如果一级缓存没有命中,接下来Session会在当前NonExists记录(相当于一个查询黑名单,如果出现重复的无效查询可以迅速做出判断,从而提升性能)中进行查找,如果NonExists中存在同样的查询条件,则返回null...
2018-10-26 09:28:48 482
原创 持久层设计要考虑的问题有哪些
持久层设计要考虑的问题有哪些所谓"持久"就是将数据保存到可掉电式存储设备中以便今后使用,简单的说,就是将内存中的数据保存到关系型数据库、文件系统、消息队列等提供持久化支持的设备中。持久层就是系统中专注于实现数据持久化的相对独立的层面。持久层设计的目标包括:数据存储逻辑的分离,提供抽象化的数据访问接口。数据访问底层实现的分离,可以在不修改代码的情况下切换底层实现。资源管理和调度的分离...
2018-10-26 09:25:00 1554
原创 Hibernate中SessionFactory是线程安全的吗?Session是线程安全的吗(两个线程能够共享同一个Session吗)?
Hibernate中SessionFactory是线程安全的吗?Session是线程安全的吗(两个线程能够共享同一个Session吗)?SessionFactory对应Hibernate的一个数据存储的概念,它是线程安全的,可以被多个线程并发访问。SessionFactory一般只会在启动的时候构建。对于应用程序,最好将SessionFactory通过单例模式进行封装以便于访问。Sessi...
2018-10-26 09:22:33 1735 1
原创 网上看到的一个关于静态代码块的一道题
请阅读下面程序,public class Test { static{ ①i=0; ②System.out.println(i); } static int i=1;}A、①报错B、②报错C、输出0;D、输出1;答案:B syso(i)这一句报错。静态代码块中只能访问到定义在静态代码块之前的变量 ,定义在它之后的变量静态...
2018-10-15 17:48:02 194
原创 hibernate锁机制有什么用?Hibernate的悲观锁和乐观锁机制
有些业务逻辑在执行过程中要求对数据进行排他性的访问,于是需要通过一些机制保证在此过程中数据被锁住不会被外界修改,这就是所谓的锁机制。Hibernate支持悲观锁和乐观锁两种锁机制。悲观锁,顾名思义悲观的认为在数据处理过程中极有可能存在修改数据的并发事务(包括本系统的其他事务或来自外部系统的事务),于是将处理的数据设置为锁定状态。悲观锁必须依赖数据库本身的锁机制才能真正保证数据访问的排他性,关于数...
2018-10-13 18:48:58 170
原创 hibernate笔记之阐述实体对象的三种状态以及转换关系
① 瞬时态:当new一个实体对象后,这个对象处于瞬时态,即这个对象只是一个保存临时数据的内存区域,如果没有变量引用这个对象,则会被JVM的垃圾回收机制回收。这个对象所保存的数据与数据库没有任何关系,除非通过Session的save()、saveOrUpdate()、persist()、merge()方法把瞬时态对象与数据库关联,并把数据插入或者更新到数据库,这个对象才转换为持久态对象。② 持久态...
2018-10-13 18:44:16 378
原创 Hibernate的一级缓存、二级缓存和查询缓存
Hibernate的Session提供了一级缓存的功能,默认总是有效的,当应用程序保存持久化实体、修改持久化实体时,Session并不会立即把这种改变提交到数据库,而是缓存在当前的Session中,除非显示调用了Session的flush()方法或通过close()方法关闭Session。通过一级缓存,可以减少程序与数据库的交互,从而提高数据库访问性能。SessionFactory级别的二级缓存...
2018-10-13 18:39:38 707
原创 Hibernate常见优化策略
① 制定合理的缓存策略(二级缓存、查询缓存)。② 采用合理的Session管理机制。③ 尽量使用延迟加载特性。④ 设定合理的批处理参数。⑤ 如果可以,选用UUID作为主键生成器。⑥ 如果可以,选用基于版本号的乐观锁替代悲观锁。⑦ 在开发过程中, 开启hibernate.show_sql选项查看生成的SQL,从而了解底层的状况;开发完成后关闭此选项。⑧ 考虑数据库本身的优化,合理的索引...
2018-10-13 18:38:50 140
原创 Hibernate的延迟加载机制&&在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?
关于如何理解Hibernate的延迟加载机制?在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?延迟加载就是并不是在读取的时候就把数据加载进来,而是等到使用时再加载。Hibernate使用了虚拟代理机制实现延迟加载,我们使用Session的load()方法加载数据或者一对多关联映射在使用延迟加载的情况下从一的一方加载多的一方,得到的都是虚拟代理,简单的说返回给用户的并不是实体本身,而...
2018-10-13 18:37:36 168
各种api帮助文档
2018-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人