自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 收藏
  • 关注

原创 JAVA POI使用

在学习的路上永无止境,这是我发现的一篇关于POI操作的文章,讲的很详细,特分享过来。(1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档的功能。(2)POI结...

2020-02-28 10:19:31 284

原创 基本程序设计结构

定时任务轮询比如任务自服务器启动就开始运行,并且每隔5秒执行一次。以下用spring注解配置定时任务。1、添加相应的schema[size=1em] 1 2 3 4 xmlns:task=" xsi:schemaLocation=" http://www.springframework.or...

2020-02-28 10:18:56 111

原创 SpringDataRedis的入门

【上海校区】SpringDataRedis的入门前言:Jedis是Redis官方推出的一款面向Java的客户端,但是API有些繁琐而且不太具备见名思意,SpringDataRedis对Jedis做了进一步的封装。SpringDataRedis的简介:Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对re...

2020-02-28 10:18:05 100

原创 jvm调优

一、JDK,JRE,JVM区别与联系 JDK是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。 jdk(JDK是用于java程序的开发,而jre则是只能运...

2020-02-28 10:17:28 86

原创 redis 从入门到进阶

1.redis介绍 1.(了解)redis是单线程模式! 2.redis 过期策略 maxclients :最大的客户端连接数 :默认是10000个 maxmemory :使用的最大内存,如果达到最大值会按照 maxmemory-policy 进行移除操作,默认不配置的话,进行操作会返回错误 maxmemory-po...

2020-02-28 10:16:56 162

原创 面向对象-抽象类

抽象类概述 什么是抽象类?什么是抽象方法? 抽象方法:没有方法体的方法就是抽象方法,必须用abstract关键字去修饰。 抽象类:拥有抽象方法的类,就是抽象类。 应用场景: 在不同的子类往上抽取方法时,方法的定义是一样的,但是方法体不一样,所以抽取到父类时就可以使用抽象方法。 简单来说: ...

2020-02-28 10:14:52 133

原创 面对对象-多态

1,多态 封装 1,私有化 --- 保证数据安全性 2,抽取成方法 --- 提高代码的复用性和可维护性 继承 可以让类跟类之间产生关系 可以抽取重复的代码到父类中。 是多态的前提 多态 ...

2020-02-28 10:10:19 113

原创 fianl和static关键字

1.final关键字 a,final修饰一个类 那么这个类是一个最终类,不能被继承。 比如:String b,final修饰一个变量 那么这个变量就变成常量,只能被赋值一次,不能被修改。 名字得全部大写。如果是多个单词,中间必须用下划线隔...

2020-02-28 10:09:37 148

原创 面向对象-继承

1,继承的概述 格式: class Fu{ } class Zi extends Fu{ //定义一个类 继承于 Fu 这个类 } ...

2020-02-28 10:09:05 112

原创 方法的参数和返回值都是引用数据类型

1,类名作为形参和返回值 方法要什么,我们就得给什么。 方法返回什么,我们就得拿什么去接收。 总结: 当方法的形参是一个类名时。 可以传递这个类的对象 还可以传递这个类所有的子类对象。 当方法...

2020-02-28 10:07:03 726

原创 根据IP动态路由调用Dubbo服务

一、前言前面我们探讨了如何获取某一个Dubbo的服务的提供者列表,本节我们探讨如何使用Dubbo的扩展,实现指定IP调用。二、实现在Dubbo中集群容错策略Cluster是SPI扩展接口,DUbbo框架提供了丰富的集群容错策略实现,本节我们就基于扩展接口实现指定IP调用功能。首先我们实现扩展接口Cluster:[Java]纯文本查看复制代码? 1 ...

2020-02-27 14:18:32 730

原创 LinkedList集合底层原理

Java集合的LinkedList底层详解前一篇文章,已经讲过ArrayList的底层实现原理,今天学习LinkedList底层实现原理。LinkedList类是List接口的实现类,它是一个集合,可以根据索引来随机的访问集合中的元素,还实现了Deque接口,它还是一个队列,可以当成双端队列来使用。虽然LinkedList是一个List集合,但是它的实现方式和ArrayList是完全不同的,A...

2020-02-27 14:17:47 248

原创 Java反射

反射是Java的一个特点,也是使原本为静态语言的Java,多了那么一些灵活性,在理解各个框架源码以及组件内容的时候是一个不错的知识点,比如注解,这是一个非常常见,又很好使的玩意,之前也有简单的学习---Java 注解 基础、Java 注解 实践 从主要以下几点开始学习 Class类的使用 方法的反射 成员变量的反射 构造器的反射 Java类...

2020-02-27 14:17:02 113

原创 UrlRewrite 的配置和使用总结

UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。主要优点一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL三:...

2020-02-27 14:16:29 209

原创 Javascript数组数值索引和字符串索引

一 结论 Javascript数组索引值的范围为0到2的32次方。  对于任意给定的数字下标值,如果不在此范围内,js会将它转换为一个字符串,并将该下标对应的值作为该数组对象的一个属性值而不是数组元素, 例如array[-1] = "yes" 其实就相当于给array对象添加了一个名为-1的属性,属性值为yes。  如果该下标值在合法范围内,则无论该下标值是数字还是...

2020-02-27 14:11:03 1290

原创 SQL中Select语句执行顺序

一 SQL中Select语句执行顺序 1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group by子句将数据划分为多个分组; 4、使用聚集函数进行计算; 5、使用having子句筛选分组; 6、计算所有的表达式; 7...

2020-02-27 14:09:01 464

原创 从零开始的Spring Session(三)

我们使用Redis集成了Spring Session。大多数的配置都是Spring Boot帮我们自动配置的,这一节我们介绍一点Spring Session较为高级的特性。集成Spring Security之所以把Spring Session和Spring Security放在一起讨论,是因为我们的应用在集成Spring Security之后,用户相关的认证与Session密不可分,如果不...

2020-02-27 14:07:50 420

原创 从零开始的Spring Session(二)

从零开始的Spring Session(一)中介绍了一些Session和Cookie的基础知识,这篇文章开始正式介绍Spring Session是如何对传统的Session进行改造的。官网这么介绍Spring Session:Spring Session provides an API and implementations for managing a user’s session in...

2020-02-27 14:06:22 162

原创 从零开始的Spring Session (一)

Session和Cookie这两个概念,在学习java web开发之初,大多数人就已经接触过了。最近在研究跨域单点登录的实现时,发现对于Session和Cookie的了解,并不是很深入,所以打算写两篇文章记录一下自己的理解。在我们的应用集成Spring Session之前,先补充一点Session和Cookie的关键知识。Session与Cookie基础由于http协议是无状态的协议,为了...

2020-02-27 14:05:51 127

原创 java从入门到放弃再到继续的过程

1 IO流概述和分类【理解】 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输 IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载 IO流的分类 按...

2020-02-27 12:16:23 209

原创 jvm虚拟机了解及tomcat优化

java虚拟机的了解 1.-x属性 java的一些基本设置 2.-xx 用来进行调优或者debug配置 可以设置一些jvm的启动属性+/-用来开启或者关闭返回一个boolean值 ,对变量赋值 menory=512M 变量值赋值1.7和1.8jvm虚拟机的区别 1.7及之前分为年轻代 老年代 永久代 1.8内存分为年轻代 老...

2020-02-26 16:51:50 172

原创 java集合-TreeMap底层实现原理

概述文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。TreeMap实现了SotredMap接口,它是有序的集合。而且是一个红黑树结构,每个key-value都作为一个红黑树的节点。如果在调用TreeMap的构造函数时没有指定比较器,则根据key执行自然排序。这点会在接下...

2020-02-26 16:51:21 799

原创 java集合-HashMap底层原理

在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。简单说下HashMap的实现原理:...

2020-02-26 16:50:30 97

原创 Java学习之谈谈异常处理

前言何为异常?举个例子:如我们的程序需要对数据库做一个插入的操作,但是可以会因为各种原因而导致发生了错误,这些错误中包含我们能预见的错误,同时也包含了我们不能预见的错误,而为了解决这些在运行中可能出现的错误,每个编程语言都有其对错误的处理。而Java中专门引入了异常(Exception:翻译过来为例外),异常机制可以及时有效的帮助开发者处理程序中运行的错误。Java异常种类可分为:...

2020-02-26 16:35:26 127

原创 Java NIO系列教程(二)Buffer

Buffer的基本用法使用Buffer读写数据一般遵循以下四个步骤:写入数据到Buffer 调用flip()方法 从Buffer中读取数据 调用clear()方法或者compact()方法当向buffer写入数据时,buffer会记录下写了多少数据。一旦要读取数据,需要通过flip()方法将Buffer从写模式切换到读模式。在读模式下,可以读取之前写入到buffer的所有数据。...

2020-02-26 16:34:49 202

原创 Java NIO系列教程

一、Java NIO系列教程Java NIO 由以下几个核心部分组成:Channels Buffers Selectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在...

2020-02-26 16:28:57 126

原创 JavaScript浅克隆和深克隆

一、浅克隆 浅克隆是指对象只会被克隆最外部的一层,对于更深层的对象,则依然是通过引用指向同一块堆内存区域。 [JavaScript]纯文本查看复制代码? 01 02 03 04 05 06 07 08 09 10 11 12 13 14...

2020-02-26 16:27:44 132

原创 Java浮点数存储格式

1.浮点数的存储方式浮点数的存储格式比较特殊,下图是4字节的float变量的存储示意图:根据IEEE754浮点数表示标准,一个float变量在存储中由三部分组成,分别是:符号位:1位(31),表示float的正负,0为正,1为负幂指数:8位(23-30),表示2进制权的幂次有效位:23位(0-22),表示有效数字2.浮点数的取值范围在float的存储中,有4个特殊...

2020-02-26 16:27:03 336

原创 使用JWT实现单点登录

首先介绍一下什么是JSON Web Token(JWT)?官方文档是这样解释的:JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以在各方之间作为JSON对象安全地传输信息。此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。虽然JWT可以加密以在各方之间提供保密,但...

2020-02-26 16:24:57 489

原创 Java High Level REST Client 操作 elasticsearch

Java 高级别 REST 客户端(The Java High Level REST Client)以后简称高级客户端,内部仍然是基于低级客户端。它提供了更多的 API,接受请求对象作为参数并返回响应对象,由客户端自己处理编码和解码。 每个 API 都可以同步或异步调用。 同步方法返回一个响应对象,而异步方法的名称以 async 后缀结尾,需要一个监听器参数,一旦...

2020-02-26 16:24:10 165

原创 线程池及线程调度

一、概述 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。线程池内部提供了一个线程队列,队列中保存着所有等待状态的线程,在开发过程中,合理地使用线程池能够带来以下3个好处: 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程...

2020-02-25 16:01:01 347

原创 继承多态接口异常

在就业班的几天内 学到了很多东西,继承,多态,接口,异常等等。day01 继承的概念 概念 :面向对象得三大基本特征之一,使子类可以拥有父类得属性和方法 继承的格式 public class 子类extends父类 继承的优点 提高了代码的复用性 提高了代码的维护性 继承的缺点 使...

2020-02-25 15:57:12 186

原创 equals方法

equals方法的作用: Object类中的一个方法,用与比较对象地址值,返回true或flase重写equals方法: 当不想比较对象的地址值而想要比较对象的属性内容时,需要通过重写equals方法来实现重写equals方法的方式: alt + insert选择equals() and hashCode(),IntelliJ Default,一路next,...

2020-02-25 15:56:08 214

原创 Java中的异常处理

异常的概念:java程序在编译或运行过程出现的意外情况。 类型转换异常 数组越界异常 空指针异常 算术运算异常… Throwable–Error –Exception: 1.编译器异常Exception: 日期类型转换异常,文件找不到异常 转换异常:ParseException ...

2020-02-25 15:54:41 75

原创 异常小结

Java异常时Java提供的一种识别及响应错误的一种机制。Java异常机制可以使程序中的异常处理diamante和正常业务代码分离,保证程序代码更加优雅,使代码更加健壮,异常能清晰地回答what,where,when这三个问题,异常类新回答了:什么被抛出,在哪里跑出,为什么抛出。Java异常机制用到的几个关键字:try catch finally throw throws.try -- 监听...

2020-02-25 15:52:08 130

原创 手动搭建spring+springMVC+hibernate框架

鉴于公司目前用的是spring+springMVC+hibernate所以先搭个类似框架。 1.首先新建一个项目大概的结构如下:我就不解释具体的分层了: 相关的jar包 可能有些是多余的,刚开始各种jar包缺失 2.第二步骤就是开始配置相关的配置文件:比如web.xml,还有上图中的两个xml文件。 (1)web.xml &lt...

2020-02-25 15:50:57 140

原创 浅谈java中String相关问题

浅谈java中String相关问题首先我们先说一下java堆内存和栈内存java中八个基本数据类型就是值类型,存放在栈内存中;引用类型存放在堆内存中。然后我们再看一看两种不同比较字符串的方法(1)equals比较两个String对象的值是否相等String str1 = "hello quanjizhu";String str2 =str1+"haha";String str3 = ...

2020-02-25 15:49:46 78

原创 Java High Level REST Client 操作 elasticsearch

Java 高级别 REST 客户端(The Java High Level REST Client)以后简称高级客户端,内部仍然是基于低级客户端。它提供了更多的 API,接受请求对象作为参数并返回响应对象,由客户端自己处理编码和解码。 每个 API 都可以同步或异步调用。 同步方法返回一个响应对象,而异步方法的名称以 async 后缀结尾,需要一个监听器参数,一旦...

2020-02-25 15:44:16 187

原创 ElasticSearch读写原理

读写原理:es 写数据过程客户端选择一个 node 发送请求过去,这个 node 就是 coordinating node(协调节点)coordinating node,对 document 进行路由,将请求转发给对应的 node(有 primary shard)实际的 node 上的 primary shard 处理请求,然后将数据同步到 replica nodecoordinatin...

2020-02-25 15:43:43 141

原创 springcloud:配置中心服务化和高可用

在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息。这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。springcloud提供了这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,cli...

2020-02-25 15:42:47 90

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除