JDK 动态代理与 Cglib 动态代理

一、前言AOP(Aspect Oriented Programming),即面向切面编程,最主要的思想就是纵向重复,横向抽取。要想实现 AOP,其底层实现是使用了动态代理技术,在 Spring 中,动态代理技术分为传统的 JDK 动态代理和 Cglib 动态代理。这两种代理机制区别是: JDK 动态代理:针对实现了接口的类进行代理 Cglib 动态代理:针对没有实现接口的类进行代理,底层是字节...

Solr 初探(1)——Solr 介绍

一、Solr简介1.1 Solr简介Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。 Solr 可以独立运行,运行在Jetty、Tomcat等Servlet容器中。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询S...

Lucene 初探——基于 Lucene 6.6.2

一、Lucene简介Lucene是Apache Jakarta家族中的一个开源项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎、索引引擎和部分文本分析引擎。 Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具,是目前最为流行的基于 Java 开源全...

Redis 初探(5)——Redis 的持久化

Redis 的高性能是由其将所有数据都存储在了内存中,需要使用时直接从内存调用即可。为了使 Redis 在重启之后仍然能保证数据不丢失,需要将数据从内存同步到内存中,这一过程就是持久化。 Redis 支持两种持久化方式,一种是 RDB方式,一种是 AOF方式。可以单独使用其中一种或将两种结合使用。 RDB(默认)在指定的时间间隔内将内存中的数据快照写入磁盘。 AOF以日志的形式记录服务器处理的每...

Redis 初探(4)——Redis 的特性

一、多数据库每一个 Redis 实例可以包括多个数据库,客户端可以指定连接某个 Redis 实例的某个数据库。一个Redis实例最多可以提供 16 个数据库,下标从 0 到 15,客户端默认连接第 0 号数据库。 含义 方法 选择第 n 号数据库 select n 将当前库的 key 转移到第 n 号数据库 move key n 1234567891011121314151...

Redis 初探(3)——Redis 的数据类型

在《Redis 初探(1)——Redis 的安装》中,我们说过,Redis支持以下五种数据类型,本章进行详解: String类型 List类型 Set类型 SortedSet类型 Hash类型 存储极限 大小 String类型的value大小 512M Hash类型key的键值对个数 4294967295 List类型key个数 4294967295 Set/Sort...

Redis 初探(2)——Jedis 的使用

2.1 准备工作首先我们在Linux中开启redis服务: 123wxs@ubuntu:/usr/local/redis/src$ ./redis-server ../redis.conf wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep rediswxs 5278 0.0 0.4 51828 8408 ? Ssl ...

Redis 初探(1)——Redis 的安装

1.1 什么是 RedisRedis 是使用 C 语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,Redis 支持以下五种数据类型: String 类型 List 类型 Set 类型 SortedSet 类型 Hash类型 1.2 Redis 应用场景 缓存 分布式集群架构中session分离 任务队列 … ...

在 Maven 中使用本地包

在项目中使用本地jar包 在项目根目录新建lib文件夹,将所有本地jar包放入该文件夹内 在Maven pom.xm文件中按如下方式引入本地jar包: scope : 设为system,告诉maven不再从仓库中查找jar包 systemPath:包在本地中的路径 对于IDEA还有一下配置,选择File–>Project Structure–>Libraries,点...

Linux 进程间通信

我们知道,进程是一个程序的一次执行,是系统资源分配的最小单元。这里所说的进程一般是指运行在用户态的进程,而由于处于用户态的不同进程间是彼此隔离的,但是它们很可能需要相互发送一些信息,好让对方知道自己的进度等情况,像这样进程间传递信息就叫进程间通信。 源码地址:https://github.com/jitwxs/blog_sample 一、什么是进程间通信1.1 进程间通信的作用(1)数据传输一...

解决 Xshell 关闭 vim 后内容仍停留在屏幕的问题

问题描述: 使用Xshell远程连接终端后,当关闭vim时,内容仍然停留在屏幕上。 解决问题: 1.编辑.bashrc文件:vim ~/.bashrc 在最后添加一行:export TERM=xterm 2.重新登陆终端: ...

Java 解析 XML

XML解析方式(1)DOM解析:解析器把整个XML文件加载到内存,并生成一个Document对象。 优点:元素与元素之前保持依赖管理,可以对其进行CRUD操作。 缺点:当XML文件过大时,可能会出现内存溢出问题。 (2)SAX解析:一种速度更快、更有效的方法。它逐行扫描文档,一边扫描一边解析。基于事件驱动进行具体解析,每执行一行,都将触发对应的事件。 优点:处理速度很快,可以处理大文件。 缺点:只...
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×