
Java Kotlin
文章平均质量分 78
Java以及其他JVM语言的基本使用
圆师傅
这个作者很懒,什么都没留下…
展开
-
spring boot + Consul 示例 (Kotlin版)
先感受了一下Consul,又好像什么都没感受一样。继续深入学习。。。原创 2023-09-02 17:45:18 · 1442 阅读 · 2 评论 -
QueryDsl整合spring-data-jpa
query dsl整合jpa,kotlin示例和Java示例原创 2022-07-24 14:59:41 · 888 阅读 · 0 评论 -
JPA之使用复合主键
JPA使用复合主键原创 2022-08-07 11:19:54 · 1336 阅读 · 0 评论 -
Consul学习笔记之-初识Consul
如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足。当使用Consul的服务网格能力时,Consul动态的在请求路径中配置sidecar和网关代理,这样让你授权服务到服务之间的连接,路由请求到健康的服务实例上,并且强制使用mTls加密却不需要你更改你的代码。原创 2023-09-07 11:32:56 · 435 阅读 · 0 评论 -
自定义filter与interceptor
filter与interceptor的区别以及简单实用原创 2022-12-04 23:01:57 · 630 阅读 · 1 评论 -
RSA算法简介及JAVA与Python加解密
RSA算法再JAVA与Python场景下的简单使用原创 2022-11-17 23:28:50 · 2065 阅读 · 0 评论 -
AES-GCM算法 Java与Python互相加解密
AES-GCM简介及JAVA与Python应用示例原创 2022-11-16 23:11:38 · 6751 阅读 · 2 评论 -
jdk11使用反射创建实例对象
在JDK11环境下,使用反射创建对象,包括无参和有参的构造函数。原创 2022-10-27 23:39:22 · 1202 阅读 · 0 评论 -
Spring boot 读取properties文件内容
spring boot中properties文件中的list,map等的配置与读取原创 2022-06-29 23:50:09 · 4207 阅读 · 0 评论 -
LocalDateTime和ZonedDateTime
文章目录1.LocalDateTime1.1 LocalDate1.2 LocalTime1.3 LocalDateTime的获取1.4 时间的转换2. 时间解析2.1 LocalDateFormatter3. ZonedDateTime3.1 简单使用4.实际使用4.1 需求4.2 解析4.3 答案1.LocalDateTimeLocalDateTime是Java8引入的新的时间的表示方式。是的,你没看错,他发由他发,我用Java8。LocalDateTime,直译就是当地的日期时间,既然是当地的日原创 2022-02-03 21:28:53 · 2751 阅读 · 0 评论 -
JDK动态代理生成的代理类输出到文件
文章目录1.接口类2.实现类3.启动类JDK动态代理生成的代理类到底长什么样子?打出来看看!1.接口类public interface Animal { void fly();}2.实现类public class Bird implements Animal{ @Override public void fly() { System.out.println("bird is flying"); }}3.启动类package com.te原创 2021-10-18 11:36:35 · 677 阅读 · 0 评论 -
笔记系列之docker安装Kafka与spring boot + kafka 示例
文章目录0.目的1.下载docker镜像2.单机方式启动zookeeper3.启动kafka4.创建topic5. spring boot with Kafka6.总结0.目的在自己的机器上搭建一个Kafka的环境。1.下载docker镜像由于Kafka需要使用到Zookeeper,这里就先下载Zookeeper和Kafka的两个镜像。docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka2.单机方式启动zookeep原创 2021-08-29 19:34:31 · 861 阅读 · 1 评论 -
Java基础学习之深入理解ThreadPoolExectuor
文章目录0.写在最前面1. 什么是线程池?2.线程池解决了什么问题?3. Executor4.ThreadPoolExecutor5.线程的状态6.线程池是如何维护自生状态的?7.任务调度机制7.1 任务调度7.2 任务缓冲7.3 任务申请7.4 任务拒绝8.Worker线程管理8.1 Worker线程8.2 worker线程的增加8.3 worker线程回收8.4 Worker线程执行任务9.JDK提供的四个线程池10.感谢大佬0.写在最前面最近学习ThreadPoolExecutor这个类,然后也转载 2021-08-22 22:48:50 · 1306 阅读 · 0 评论 -
内部类与静态内部类区别及举例
文章目录1.内部类与静态内部类的区别2.举例说明2.1 内部类2.2 静态内部类1.内部类与静态内部类的区别静态内部类相对与外部类是独立存在的,在静态内部类中无法直接访问外部类中的变量、方法。如果要访问的话,必须要new一个外部类的对象,使用new出来的对象来访问。 但是可以直接访问静态变量,调用静态的方法。普通内部类作为外部类一个成员而存在,在普通内部类中可以直接访问外部类属性,调用外部类的方法。如果外部类要访问内部类的属性或者调用内部类的方法,必须要创建一个内部类的对象,使用该对象访原创 2021-07-02 17:43:37 · 11751 阅读 · 1 评论 -
单例模式:枚举与双重检查锁
文章目录1. 单例模式1.1 饿汉式的单例模式1.2 懒汉式单例模式2.为什么使用枚举类是线程安全的单例模式?1. 单例模式单例模式相信大家都不陌生,这里提供一个使用枚举类实现单例模式的例子。1.1 饿汉式的单例模式public class YYSingletonDemo { private YYSingleton() { } private enum YYSingleton { INSTANCE; } public static Y原创 2021-06-26 22:48:49 · 979 阅读 · 0 评论 -
JDK动态代理源码解析
文章目录1. 代理模式1.1 什么是代理模式?1.2 代理模式的结构1.3 种类2.静态代理2.1 实例2.2 优缺点3.动态代理3.1 为什么字节码可以动态生成?3.2 动态代理的两个实现方式3.2.1 JDK动态代理3.2.1 CGLIB代理3.3 两种动态代理方式的对比1. 代理模式1.1 什么是代理模式?在访问对象时,直接访问对象会给使用者或者系统结构带来很多麻烦,因此我们就可以在访问次对象的基础上加上一个对此对象的访问层。给某一个对象提供一个代理,并由代理对象来控制真实对象的访问。1.2原创 2021-04-03 18:35:38 · 1216 阅读 · 0 评论 -
设计模式之建造者模式:静态内部类实现方式
文章目录1.为什么需要建造者模式?1.1 遇到的问题1.2 解决办法一set方法2.建造者模式是什么?3.上面的例子怎么改?4.总结1.为什么需要建造者模式?1.1 遇到的问题当我们在创建一个对象的时候,我们可以声明带参数的构造函数,例如有如下的这样一个pojo:package com.example.demo.entity;public class Robot { private String manufacturer; private String name; pri原创 2021-01-28 16:55:13 · 859 阅读 · 0 评论 -
Comparable与Comparator的再学习与思考
文章目录1. Comparable1.1 定义1.2 小试牛刀1.3 排序1.4 注意1. Comparable1.1 定义Comparable是java.lang包下的一个接口,其源码如下:package java.lang;import java.util.*;public interface Comparable<T> { public int compareTo(T o);}可以看到,该接口下只有一个CompareTo方法,返回值为int。该比较方法主要用来比原创 2021-01-27 10:41:51 · 302 阅读 · 0 评论 -
Dockerfile构建image实例
文章目录1.什么是Dockerfile?2.Dockerfile的基本结构3.指令详解3.1 FROM3.2 MAINTAINER3.3 RUN3.4 ADD3.5 COPY3.6 CMD3.7 ENTRYPOINT3.8 LABEL3.9 ENV3.10 EXPOSE3.11 VOLUME3.12 WORKDIR1.什么是Dockerfile?Dockerfile是一个用来构建docker镜像的文本文件。文本内容包含了一条条构建镜像所需的指令与说明。使用docker build指令来构建image。原创 2020-12-26 23:25:20 · 1571 阅读 · 0 评论 -
ES 7.9.0 初探之常见操作-match
文章目录1.前缀查询(prefix)2. 短语匹配(match_phrase)3.短语前缀匹配查询(match_phrase_prefix)4.多重匹配查询(Multi-match query)5.是否匹配前缀(match_bool_prefix)上一篇我们使用ES进行了简单的CURD操作,今天来进行一点简单的匹配查询的操作。首先来看一下我编了哪些数据:GET yytest/_search得到的数据有{ "took" : 0, "timed_out" : false, "_shard原创 2020-11-08 11:27:13 · 1437 阅读 · 0 评论 -
ES 7.9.0 初探之索引创建与数据的CURD
上一篇已经把elasticsearch与kibana环境搭建好,但是还没有进行具体的操作,今天咱们就搞起来!!1.环境说明名称版本docker19.03elasticsearch7.9.0kibana7.9.02.基本概念我要抄点内容给各位大爷瞧瞧了。...原创 2020-11-02 22:48:49 · 1200 阅读 · 0 评论 -
Leetcode 刷题之696. Count Binary Substrings
文章目录1.问题描述2.示例3.备注4.分析5.代码6.优化1.问题描述Give a string s, count the number of non-empty (contiguous) substrings that have the same number of 0’s and 1’s, and all the 0’s and all the 1’s in these substrings are grouped consecutively.Substrings that occur mult原创 2020-10-28 15:50:19 · 378 阅读 · 0 评论 -
java数据结构 -- Stack源码解析
栈的基本结构以及常用方法,通过阅读源码,确定栈的初识容量、扩容机制等。原创 2020-03-26 16:44:32 · 421 阅读 · 0 评论 -
mybatis从mysql数据库中取出的时间有时区问题
1、问题描述最近遇到了一个小问题,就是从数据库中取出的时间总是和数据库中存储的时间有误差,总是相差8个小时。2、排查2.1数据库时区设定看了好多博客,说是时区设定的问题。我在连接数据库时也没有做太多设定,就直接写的spring.datasource.url=jdbc:mysql://localhost:3306/guest?serverTimezone=UTC然后根据 mybatis...原创 2019-11-03 13:33:04 · 3602 阅读 · 0 评论 -
日志系统--Slf4j+log4j
码出高效-阿里巴巴Java开发手册–日志规约阿里巴巴在开发者手册中强制要求开发者不可直接使用log4j、logback中的API。为什么要这么规定呢?为什么要这么做?我们为什么要使用slf4j,举个例子:我们自己的系统中使用了logback这个日志系统我们的系统使用了A.jar,A.jar中使用的日志系统为log4j我们的系统又使用了B.jar,B.jar中使用的日志系统为slf4...原创 2018-12-20 14:32:52 · 940 阅读 · 0 评论 -
单点登录之CAS与LDAP的配置
项目需要,做一个cas与ldap服务器对接的工作。这里记录一下踩过的坑。要让cas与ldap配置到一起,需要引入jar:cas-server-support-ldap。不过这里要提醒一下,这个jar有两个不同的组织都有提供:org.apereo.cas和org.jasig.cas。所以在引入maven依赖的时候一定要看清楚。PS:这里没有cas server的安装与配置,openLDAP的安装...原创 2018-12-19 14:58:58 · 7396 阅读 · 4 评论 -
Spring boot 2.1 RESTful API 与 Swagger2
REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。关于RESTful的相关内容,详细的可以参阅http://www.runoob.com/w3cnote/restful-architecture.html这里我就不做Copy了。RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boo...原创 2018-11-17 20:16:32 · 299 阅读 · 0 评论 -
Springboot之整合cas client
Springboot之整合cas clientCAS client在github的示例项目使用的是web.xml来配置过滤器<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.原创 2018-09-27 19:24:28 · 3724 阅读 · 2 评论 -
Spring boot 整合 cas Java client
最近在做CAS相关的内容,在搭建了CAS服务器之后,再搭建一个web client。可以通过简单的web项目搭建方法搭建。CAS 官方给出了较为详细的过滤器配置方法,甚至还给出了基于web.xml配置的示例。Spring boot这么好用,不一起搞一下说不过去。那就搞一个。(这里暂时先只给出client端的配置)1、首先是pom.xml。<?xml version="1.0" ...原创 2018-09-27 19:29:00 · 1375 阅读 · 0 评论 -
application.properties 文件和 application.yml 文件有什么区别
两者都是配置文件,在使用上略用区别:application.properties中server.port=8801eureka.client.register-with-eureka=falseeureka.client.fetch-registry=falseeureka.client.serviceUrl.defaultZone=http\://localhost\:${ser...转载 2018-09-17 17:02:41 · 2217 阅读 · 1 评论 -
Java 静态方法与静态属性
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明。 静态对象 非静态对象 拥有属性 是类共同拥有的 是类各个对象独立拥有的 内存分配 内存空间上固定分配的 空间在各个附属类里面分配的 分配属性 先分配静态对象空间 继而再对非静态对象分配空间,即初始化。 静态对象有什么好处?1、静态对象的数据在全局是唯一的...转载 2018-08-01 15:50:43 · 1291 阅读 · 0 评论 -
四种常见排序的实现:选择排序、插入排序、冒泡排序、快速排序
java中四种排序排序:选择排序、快速排序、冒泡排序、快速排序。1、选择排序进行两层for循环,第一轮找出一个最小的数,第二轮找出一个第二小的数,即除去已经找出的第一个数,剩下的所有数中最小的数。以此类推。public static void selectSort(int[] a) { for (int i = 0; i < a.length; i++) { ...原创 2019-01-15 14:56:21 · 1297 阅读 · 1 评论 -
java 基础之 Thread 与 Runnable
package helloworld;class MyThread extends Thread { private String title; private int ticket = 10; public MyThread(String title) { this.title = title; } @Override public void run() { for ...原创 2019-03-02 11:31:56 · 523 阅读 · 0 评论 -
java -Socket示例程序
Socket程序,server启动,可以有多个线程向server发送信息,server收到信息后,在信息前加上“ECHO”并将内容转为大写返回。当发送“byebye”时,通信结束,关闭客户端。serverSocket代码:package server;import java.io.IOException;import java.io.PrintStream;import java.ne...原创 2019-03-06 11:27:12 · 450 阅读 · 0 评论 -
自己动手实现文件拷贝操作
利用输入输出流实现文件的拷贝操作。将源文件地址与目标地址作为参数传入即可。package com.example.j8;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java....原创 2019-03-03 17:30:41 · 243 阅读 · 0 评论 -
反射机制与工厂类
反射机制与工厂类的简单实现。package helloworld;interface IFruit { void eat();}class Orange implements IFruit { @Override public void eat() { System.out.println("eat orange"); }}interface IMessage {...原创 2019-03-04 01:03:54 · 268 阅读 · 0 评论 -
自动装箱的陷阱
深入理解jvm虚拟机第316页关于自动装箱的陷阱: Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e = 321; Integer f = 321; Long g = 3L; System....原创 2019-03-12 22:58:30 · 277 阅读 · 0 评论 -
Java实用小工具--Unzip
import java.io.File;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;import org.apache.commons.io.Fi...原创 2019-09-14 19:08:24 · 607 阅读 · 1 评论 -
PowerMock的初使用
在写UT的时候,会经常使用到Mockito来写测试用例,但是Mockito无法对静态方法、私有方法以及final方法进行mock。这里可以使用功能强大的PowerMock来实现。 PowerMock使用一个自定义类加载器和字节码操作来模拟静态方法,构造函数,final类和方法,私有方法,去除静态初始化器等等。通过使用自定义的类加载器,简化采用的IDE或持续集成服务器不需要做任何改变。目前Powe...原创 2019-09-16 18:04:27 · 4091 阅读 · 5 评论 -
tk.mybatis初探
据说tk.mybatis能够让我不写sql代码就可以所有单表操作问题,作为热爱偷懒的我,怎么能放过这种机会。talk is cheap, show me the code。赶紧搞个例子爽一把先。例子使用springboot与MySQL搭建,因此需要准备必要的环境,我使用的是:jdk 8mysql 8IDEAmaven1、 pom文件<?xml version="1.0" ...原创 2019-10-09 15:17:24 · 1193 阅读 · 0 评论