自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Liaryank的博客

涣然冰释

  • 博客(41)
  • 资源 (8)
  • 收藏
  • 关注

原创 设计模式23种之工厂模式(内附代码)

工厂模式个人理解总结:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。工厂模式包括三种:简单工厂模式又叫作静态工厂方法模式 工厂方法模式 抽象工厂模式优点和缺点:优点:工厂类包含必要的逻辑判断,可以决定在什么时候创建哪一个产品的实例。客户端可以免除直接创建产品对象的职责,很方便的创建出相应的产品。工厂和产品的职责区分明确。 客户端无需知道所创建具体产品的类名,只需知道参数即可。 也可以引入配置

2021-03-05 17:47:58 353

原创 设计模式23种之单例模式(内附代码)

单例模式个人学习总结:单例模式概述:单例模式可以保证在一个 JVM 中只存在单一实例。单例模式特点:单例类只有一个实例对象; 该单例对象必须由单例类自行创建; 单例类对外提供一个访问该单例的全局访问点。单例模式的优点:单例模式可以保证内存里只有一个实例,减少了内存的开销。 可以避免对资源的多重占用。 单例模式设置全局访问点,可以优化和共享资源的访问。单例模式的缺点:单例模式一般没有接口,扩展困难。如果要扩展,则除了修改原来的代码,没有第二种途径,违背开闭原则(开闭原则,可

2021-03-05 14:41:27 347

原创 JAVA 生成数据库文档

最近因为一个二手项目没有数据文档困扰不堪,顾而寻找到一个神器screw来生成数据库表结构设计。亲测数据库支持如下MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB 可能还有其它吼pom文件需要引入如下包<!-- 数据库文档生成--><!-- screw核心 --><dependency> <groupId>org.freemarker</g

2020-11-11 17:19:36 246

原创 JAVA调restful接口实例

java 调resrful接口实则不难,本文介绍两种调用方式。   ①使用client调用②使用流方式调用。一  使用client调用,实现以下两点即可1 .下载所需jar包,下载地址为本文所选版本为1.19.1。https://jersey.github.io/download.html2. 注意返回格式是json还是xml或其它。      废话不多说,请看代码:...

2018-06-29 16:01:02 6206

原创 解决登陆时sql注入漏洞

解决登陆sql注入漏洞注册账号时要限制注册账号和密码的约束  只能为数字加字母,不能让其它字符存入数据库,这样方便与数据库的管理,及用户名密码规范。废话不多说直接上代码 (后台用正则过滤掉非法字符,简单粗暴解决登陆时sql注入问题)String  regExLoginName = "^[A-Za-z0-9_]+$";//登陆密码正则验证String  r

2017-08-25 15:40:35 819

原创 后台验证码实现,附代码详解

验证码后台验证登陆页面的验证码一直是大家头痛的问题,目前多数的验证码走的都是前端验证,但前端验证有许多危险漏洞,本文是一个简单的后台验证码实现,详细请看如下所述。

2017-08-22 10:22:19 13400

原创 java DES 加密解密算法及报错 Given final block not properly padded

解密的时候报错: javax.crypto.BadPaddingException:   Given   final   block   not   properly   padded 该异常是在解密的时候抛出的,加密的方法没有问题。  但是两个方法的唯一差别是Cipher对象的模式不一样,这就排除了程序写错的可能性。再看一下异常的揭示信息,大概的意思是:提供的字块不符合填

2017-01-10 15:50:22 19694 2

原创 HashMap和ConcurrentHashMap(个人学习使用)

hashmap 数组+链表默认大小16如何进行存储?计算hash值 算出要存在数组上的位置,按照咱们通常的计算方式可能就是。hash%16 了。但大神的写法是(n-1)&hash其实大致是一个意思只不过这么计算更节省时间。n是数组初始大小16 减去1后转成二进制极为 1111(也就是转换二进制的1248) 咱们我所知的计算机二进制文件做&计算时,无论两个值短的那方会在前面用0补全,但无论0&1 还是1&0 计算结果都是1,只有1&1时计算结果才是1。(h

2021-03-20 23:21:24 184

原创 类加载过程(通俗易懂)

类的加载过程加载:loadclass 加载磁盘上的文件到内存中验证:检查文件格式是否正确,元数据验证(语法是否符合Java规范),确定语法含义,保证运气不会产生危害,符号引用验证。准备:给静态变量分配内存,赋予默认值解析:将二进制数据符号引用替换成直接引用,指向方法区的指针(也就是说和方法区进行使用指针交互)初始化:给静态变量赋值(也就是你之前代码里写的int a= 10 ,在这步才把10赋给a)使用:就是被调用卸载: 就是使用后被回收类的加载时机(也就是什么时候出发类被加载)访

2021-03-19 10:53:40 412

原创 Long类型转换丢失精度问题解决Jackson2

Jackson2全局转化long类型为String,解决jackson序列化时long类型缺失精度问题注意哦!是Jackson2import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;import org.springframewor..

2020-11-24 14:35:45 782

原创 sql 判断case使用

(case when sp.status != '' then (select label from scm_sys_dict where type = 'projectState' and code = sp.project_status) else '' end) as projectStatus,

2020-11-23 17:42:04 137

原创 SpringBoot+swagger2增强搭建

先看效果图POM配置<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <depend.

2020-11-23 17:19:56 434 1

原创 synchronized 对象锁和类锁的区别详细

synchronized 是一个关键字。synchronized 加到 static 方法前面是给class 加锁,即类锁;synchronized 加到非静态方法上是给对象上锁,即对象锁。对象锁和类锁是不同的锁,所以多个线程同时执行这2个不同锁的方法时,是异步的。所以我们用代码来演示下首先准备工作,先创建一个Task类 新建三个方法其中两个 是static修饰静态的。/** * @Title: dmdemo * @Description: * @author: liar.

2020-07-23 15:35:42 787

原创 Soring IOC和DI

在网上看了好多描述IOC和DI和文章,但感觉看他们的描述总感觉差点意思,所以我个人也总结了一些相关的概念,希望对面试或爱学习的小伙伴共勉。IoC 和 DI:IoC (Inversion of Control):大家常说就是控制反转。然而ioc不是一种新的技术,而是 Spring 的一种设计思想,这个相信大家使用过的小伙伴都应该知道。何为ICO?在传统的程序设计,我们直接在对象内部通过 new 来创建对象,是程序主动去创建依赖对象;而在 Spring 中有专门的一个容器来创建和管理这.

2020-06-19 23:02:29 246

原创 nacos 安装配置(简单易懂)

本文主要讲解Linux上安装alibaba的nacos先简单说一下:Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 Spring Cloud Alibaba 组件之一,负责服务注册发现和服务配置,可以这样认为nacos=eureka+config。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注

2020-06-04 21:21:05 634 2

原创 SpringBoot之自动配置流程说明

之前我们一起看了Springboot是如何内嵌tomcat的今天我们来说一下SpringBoot 启动时自动配置正如我们看见的只要pom文件里引了你要的依赖在使用注解 @Autowired 时就能直接实例化使用 这是怎么做到的呢。我们下面就来一起看看。首先我们可以看见Springboot启动时只需要main方法里运行main方法就可以启动了然后加上了一个@SpringbootApplication的注解那么Springboot启动时的配置一定和这个注解有莫大的关系,我们跟进来..

2020-06-04 20:53:29 266

原创 SpringBoot之如何自动启动tomcat

首先我们要先理解Springboot和Spring mvc的区别SpringMVC项目构建一定包含三要素1 配置web.xml 启动时去扫描 2,3 文件2 配置application.xml 启动时进行bean初始化3 配置springmvc.xml 依赖注入而Springboot之所以能直接启动不需要做任何配置就是因为他把 2,3 两个事情自动执行了。这个后面文章会提及,今天主要只说以下如何启动的tomcat我们来直接看源码1 证明是Spring项目 然后执行run方...

2020-06-03 08:54:03 830

原创 深入简出 synchronized和lock区别

synchronizedsynchronized是关键字有以下三种使用方法: 静态方法加上关键字 类 实例方法(也就是普通方法)加上关键字 方法 方法中使用同步代码块 代码块 有两种加锁方式: 锁住类 锁住对象实例 1 实现的是非公平锁,...

2020-06-02 23:01:33 156

原创 JVM 深入简出(一)

栈: 存储基本数据类型(byte short int long float double char boolean)和引用类型堆: new出来的对象,数组,jvm只有一个堆区,并被所有线程共享。方法区域(又叫 静态区):所以class 字符串常量 和定义为static的,被所有线程共享, 存放程序中永远唯一的元素。JVM GC怎么判断对象可以被回收了?对象没有引用作用域发生未捕获异常程序在作用域...

2020-06-02 22:29:06 134

原创 zipkin持久化之mysql建表语句

官方定义的表 三张表 CREATE TABLE IF NOT EXISTS zipkin_spans ( `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, thismeans the trace uses 128 bit traceIds instead of 64 bit', `trace_id` BIGINT NOT NULL,`id` BIGINT NOT NULL,`name`

2020-05-27 09:40:38 522

原创 redis基础和原理

存储结构大家一定对字典类型的数据结构非常熟悉,比如map ,通过key value的方式存储的结构。 redis的全称是remote dictionary server(远程字典服务器),它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。Redis的安装redis约定次版本号(第一个小数点后的数字)为偶数版本是稳定版,如2.8、3.0,4.0 奇数版本为非稳定版,生产环境需要使用稳定版;安装配置: **需安装tcl yum install tcl 、 y...

2020-05-19 10:53:42 179

原创 java特性封装、抽象、继承、多态理论

封装(Encapsulation)首先,我们来看封装特性。封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式(或者叫函数)来访问内部信息或者数据。这句话怎么理解呢?我们通过一个简单的例子来解释一下。下面这段代码是金融系统中一个简化版的虚拟钱包的代码实现。在金融系统中,我们会给每个用户创建一个虚拟钱包,用来记录用户在我们的系统中的虚拟货币量。对于虚拟钱包的业务背景,这里你只需要简单了解一下即可。在面向对象的实战篇中,我们会有单独两节课,利用OOP的设计思想来详细

2020-05-18 15:55:03 275

原创 Springboot 整合 RabbitMQ(一)

本篇主要rabbitMq相关的一些简单理论介绍,安装须知,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用。下一篇会讲解消息回调、手动确认等。安装主要需要几个介质,Linux环境上 需安装erlang、 rabbitmqserver、socat 大家根据版本下载不要一定要安装对应版本否则无法启动。Erlang 下载地址:https://www.erlang-solutions.com/resources/download.html安

2020-05-17 22:34:49 247

原创 ZooKeeper之Curator分布式锁和Leader选举实例

分布式锁分布式编程时,当遇到应用程序多机部署,于是当多个应用同时访问某一资源时,就需要某种机制去协调它们进行占用。例如,现在一台应用正在rebuild缓存内容,要临时锁住这个区域暂时不让其它应用进行访问;又比如调度程序每次只想一个任务被一台应用执行等等业务场景。下面的程序会启动两个线程x1和x2去争夺锁,拿到锁的线程会占用10秒。运行多次可以观察到,有时是x1先拿到锁而x2等待,有时又会反...

2020-05-07 16:08:06 372

原创 Zookeeper 之使用Curator 来操作数据存储和事件监听

Curator高度封装zookeeper客户端,对比之前的原生就非常nice。码来!~~~首先还是pom文件下载jar包<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</...

2020-05-06 18:22:03 578

原创 Zookeeper之原生连接、数据存储和事件机制

鉴于前面几篇博客已经将zookeeper单机和集群搭建完成,现在我们来了解下如何使用代码操作zookeeper本文是建立连接和数据存储直接开始干货:首先pom文件引入zookeeper依赖,我装的版本是3.6.0 大家根据情况来定。<dependency> <groupId>org.apache.zookeeper</groupId>...

2020-05-06 17:13:06 173

原创 ZooKeeper 安装配置集群搭建二

继ZooKeeper 安装配置集群搭建一 单机后继续搭建集群,本文主讲集群搭建、数据同步测试展示,集群配置文件配置。话不多说开整1

2020-04-30 14:37:43 198

原创 ZooKeeper 安装配置集群搭建一

对于ZooKeeper相信大家都有一个初步的认识 它是分布式协调服务的重要一环,用于协调各种中间件的,视为注册中心。官网即可下载https://zookeeper.apache.org/releases.html可根据个人喜好下载响应版本本文使用的是3.6.0 版本开始正题1 储存机制 首先对zookeeper的初步理解它的储存机制,它的存储为...

2020-04-30 14:35:26 159

原创 IDEA 的基本配置 看我这篇就够了!

1 配置编码问题2显示工具栏以及工具按钮栏3配置相关的工作空间4IDEA构建项目的时候默认生成的iml文件配置改成.classpath类型的文件5IDEA中导入jar的源码如果是Maven项目的时候,配置pom.xml会自动下载源码包,如果是javaWeb或者简单的java项目,自定义加入的jar是没有源码的,这时候手动添加源码包。6...

2020-04-29 16:50:19 183

原创 MAC使用Parallels 安装CentOS Parallels帐号无法登录

MAC使用Parallels 安装CentOS 无法登录看这里看这里 是不是这个错误,如果是那么恭喜你 找对地方了。mac使用parallels在线安装的Centos自动默认进来就是登录。其实已经内置里用户。我们需要修改root的帐号密码1 首先开机时到这个页面时按‘e’进入设置2 修改权限可以修改文件,和增加命令路径。将光标一直向下滑,将上图的ro改成r...

2020-04-27 09:38:37 1960

原创 RPC、 SOA概念

进程间通信(IPC,Inter-Process Communication)进程是计算机分配资源的最小单位RPC 和 rest 区别:REST是一种设计风格。RPC的思想是把本地函数映射到API,也就是说一个API对应的是一个function,我本地有一个getAllUsers,远程也能通过某种约定的协议来调用这个getAllUsers。至于这个协议是Socket、是HTTP...

2020-04-15 10:16:08 409

原创 分布式 CAP、BASE理论

Consistency 一致性 (顾名思义确保数据一致,不允许出现两台及以上服务上数据不一致)Availability 可用性 (在集群中一部分节点故障后,是否还能响应客户端的读写请求)Partition tolerance 容错性 (允许出错率的大小,允许出错率大则程序可以正常执行不会报错)三角形定理,三者只可...

2020-04-08 17:45:58 148

原创 SpringBoot+Mybatis 快速搭建 使用 easy code插件

本文主要讲解使用Easycode插件快速开发。项目使用mavenSpringBoot+mybatis+Druid 构建Easycode是idea的一个插件,可以直接对数据的表生成entity、controller、service、dao、mapper无需任何编码,简单而强大。1 安装Easycode我这里已经安装好了的。在这里也建议大家在安装一个插件 Lombok。...

2020-04-04 22:07:11 609

原创 JavaScript记住密码

js中如何记住密码:代码:&lt;input class="text-input" type="text" id="username" value="" /&gt;&lt;input class="text-input" type="password" id="password" value="" /&gt

2018-07-25 15:37:01 853

原创 Java以SOAP方式调webservice实例

Java以soap调webservice实现需要两点一 导入jdk二 导入commons-iocommons-io下载地址:废话不多说直接上代码import java.io.BufferedReader;  import java.io.File;  import java.io.FileReader;  import java.io.IOException;  import java.io.In...

2018-06-29 16:15:43 3127

原创 nginx 配置https代理

我这里的需求是有A和B两台公网服务器,这两台服务存在网络策略可以访问。用户想访问B服务器必须通过A服务器来代理转发。用户请求A上的8767端口,跳转B的地址和18000端口。注意:配置下面前,需要自己申请证书,证书申请时要与自己服务器域名对应。http {    include       mime.types;    default_type  application/octet-stream;

2018-01-02 15:20:53 1300

原创 Mysql 服务 在服务列表里丢失解决办法

mysql使用一段时间后服务列表中找不到手动启动项解决办法1、打开cmd,切换到mysql的bin目录下2、 D:\Program Files\MySQL5.1\bin>mysqld.exe -installService successfully installed.  (注意了:如果此结果不是Service successfully installed;而是Inst

2017-06-07 09:53:55 755

原创 linux环境下weblogic 部署程序出现java.util,zip.ZpException:error in opening zip file

解决该问题的思路:                                   1.检查各种配置信息,数据源,项目名和数据源名是否冲突等。                                   2.检查是否是jar 冲突,我这里是因为本地项目中的spring.jar 和linux上冲突,删除该jar 即部署成功。                          

2017-05-25 14:18:12 3425

原创 cmd 访问文件夹目录和文件命令

1.windows+R 输入cmd  进入命令控制台2 输入如D: 切换要进入的磁盘 3 然后输入dir显示D盘下的所有目录4 输入cd 360CloudUI要进入的目录5 输入 test.log.txt 然后要执行文件直接输入文件名回车即可(要是不知道文件名可以再输入dir命令显示)6 输入cd.. 返回上一级目录7 输入cd\ 返回根目录

2017-05-24 10:37:50 4460

原创 ssh框架设计流程 及hibernate 映射关系怎么写

1,了解功能,包括细节(要清楚需要做什么样的功能)。2,设计实体/表先设计实体,再生成表,叫正向工程(推荐)。或先设计表,再生成实体,叫反向工程。3,分析所有的功能到Action的方法的粒度(就是到每一个请求的粒度) 4,实现功能1,写出Action类并定义出其中的方法,并确定每个Action方法要做什么事。2,实现Action方法,确定出要使用的Service方法。

2016-11-02 15:27:31 421

Cronolog定时工具包 Linux专用

Linux定时任务管理工具 亲测好用,隔壁小姐姐们看见了 都羡慕哭了。

2019-03-29

SAP jco3.0 windows , Linux

Found library /usr/java/jdk1.7.0_80/jre/lib/amd64/server/libsapjco3.so has version "711.59", but required is at least version "720.37".

2018-12-10

Java调rest接口依赖包

Java后台调restful接口所需jersery包。版本为1.19.1。

2018-06-29

VNC 64位服务端

vnc远程工具,Linux安装,64位安装,服务端工具。非客户端

2018-06-29

commons.io

Java调webservice服务所需依赖包,可查看本博客中调用详情。

2018-06-29

毕业设计商城管理系统

毕业设计时 实用的商城管理系统

2017-08-28

学生信息管理系统 L

Java ssh 学生课程成绩之间的管理 增删改查上传分页等

2016-11-02

学生信息管理系统

Java ssh框架 easyui jdk1.6 增删改查,上传,排序,模糊查询,验证,分页等功能

2016-11-02

空空如也

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

TA关注的人

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