自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cpfniliu

纯原创

  • 博客(37)
  • 收藏
  • 关注

原创 设计模式之代理模式——闭包代理(初创篇)

1. 场景还原其实最开始, 我是在用 java swing 做一个 endpoint-io-transfer 的应用工具(一个用于从citrix下载文件的工具).页面里面有几个按钮, 点击按钮执行逻辑功能, 相关代码大概是这样:private JComponent getToolBar() { // ..... 无关代码省略 ..... JButton singleScanButton = new JButton("单次扫描"); singleScanButton.addAction

2021-04-13 23:38:49 194 2

原创 二进制数据图片(bit-data-map): 一种通过图片的形式传递数据信息的方式

二进制数据图片前言最近公司那台终端电脑的粘贴功能坏了, 连接远程想从里面拿一个文件出来, 试了好多种方法不顶用, 远程终端开了一堆程序也不能随便重启远程终端, 最终是关了一大堆不必要的应用, 又重启了下rdpclip.exe解决了Windows服务器远程桌面不能复制粘贴的解决方法但是解决过程中, 突然想: 复制粘贴不能用, 但是可以正常显示远程的屏幕, 能不能通过截屏就能把文件给搞下来呢?于是在一波捣鼓之后, 就有了bit-data-map和本文章名称bit-data-map, bdmp,

2021-02-25 12:39:32 4904

原创 IDEA控制台乱码问题,原因&解决方式,解决不了算我输

IDEA 控制台乱码问题文章目录IDEA 控制台乱码问题首先总结下网上大多编码问题解决方式乱码原因解决方式我为什么推荐控制台使用 GBK我的编码设置思想第一种解决方案的弊端end关于这个乱码问题网上的解决方法大同小异, 但是即便你照着网上配置完之后, 也未必能够解决控制台乱码问题.接下来由我从乱码角度来分析乱码问题, 让大家确保能够解决乱码问题.首先总结下网上大多编码问题解决方式IDEA 启动参数IDEA 是 使用java做的, IDEA 安装路径下 \ideaIU-2019.3.3.w

2020-07-05 23:42:27 47282 147

原创 code-dict:巧用枚举让字典表的管理和使用变得简单, 优雅

巧用枚举类型来管理数据字典背景开发Java项目时, 数据字典的管理是个令人头痛的问题, 至少对我而言是这样的, 我所在的上一家公司项目里面对于字典表的管理是可以进行配置的, 他们是将字典表统一存放在一个数据库里面进行配置, 然后可以由管理员进行动态的实现字典表的变更.一般而言先来两个实体类学生类 Studentpackage cn.cpf.entity;/** * @Author...

2019-03-09 21:54:12 9181 24

原创 cosycode类分享:可控制的单循环线程 com.github.cosycode.common.thread.CtrlLoopThreadComp

分享一个自己封装设计的一个可控制启停循环的线程类, 可以针对循环线程进行无脑的启停操作, 这个类也是前前后后修正了好多次的.

2022-02-20 23:03:16 475

原创 5年java经验对java四大特性的理解和感悟

加上实习期的经验, 已经差不错有5年java开发经验了, 感觉自己对设计思想掌握的不错, 即将找工作, 从头开始理一下java基础, 本篇没有代码和图片, 暂时只有文字, 但却是个人珍贵的经验.

2022-02-16 23:26:44 514

原创 针对JWT简介与原理,代码实例,以及oauth2+JWT+RSA的集成配置

JWT简介, JWT的组成以及工作原理, JWT代码实例, JWT接合RSA实例, 以及oauth2+JWT+RSA的集成配置

2022-01-29 22:32:46 3429 1

原创 从零搭建spring cloud => spring cloud alibaba以及Spring相关组件版本选择

spring-cloud 版本选择如果仅仅是 Spring 项目的话, 可以直接选择Springboot最新版本.但是如果是要搭建 spring-cloud 的话, 还需要考虑 spring-cloud 和 spring-boot 的对应关系.而当前中国比较流行的 spring-cloud 是 spring-cloud-alibaba, 那么就需要同时考虑三者的版本匹配.首先选择 spring cloud alibaba访问官网 https://spring.io/projects/spring-

2022-01-17 23:27:36 405

原创 最新nacos-2.0.3安装配置(window方式安装,docker方式安装,以及启动数据库,修改密码)

nacos 最新版2.0.3安装配置,包含window形式安装,docker形式安装,启动数据库,修改密码等

2022-01-16 21:11:05 3455

原创 记一次个人网站logo设计

第一次个人图标设计记录, 图标, 还是自己设计一个比较好, 哪怕比较烂.

2022-01-12 11:59:55 782

原创 中介/代理,正/反向代理,直/间接代理,概念清晰解释

中介必然是代理, 但是代理未必是中介, `正向代理`就是对`服务消费方`的代理, `反向代理`就是对`服务提供方`的代理.

2022-01-11 16:06:38 1974

原创 概率&熵&物质混乱&能量耗散&信息熵

热力学(second law of thermodynamics)基本定律之一, 在热力学第二定律的表示中也可称之为熵增原理万物皆由物质, 能量构成, 物质和能量可以相互转换, 但是信息却是个抽象的概念, 物质和能量可以传递信息.物质和能量关系很复杂, 可以相互转换, 但又不能随意相互转换. 物质具有能量的波动性, 而能量又具有物质的离子性, 可以说一切物质皆为能量, 而能量又不能完全脱离物质而存在.关于熵的定义, 我查了好久, 感觉明白了, 又似乎没有明白, 觉得非常混乱. 本着以我为主, 为我.

2021-11-11 20:47:35 3233

原创 深入分析:如何随机打乱一个数组

关于如何随机打乱一个数组的深入分析, 三种方案适应三种不同情况, 欢迎讨论交流

2021-09-13 18:04:11 5303 1

原创 指针变量的内存分解(go语言)

指针变量的内存分解关于指针, 大一时学C++的时候感觉悟懂了, 之后到现在已经 7 年没有碰指针了, 现在学go的时候又发现之前学的好像不太正确, 甚至都忘光了, 现在重新整理下基础知识& 作为取址符, 在变量前面作用是获取变量的内存地址.*可以作为取值符和指针声明符* 定义变量的时候和类型一起用是作为指针声明符的, * 表示变量是一个指针变量C++ 中指针的定义// 声明一个指针, 紧贴在变量前面int *ptr1;// 声明一个指针, 紧贴在类型后面int* pt

2021-07-28 18:10:51 169 1

原创 新买的幻16笔记本不激活的情况下联网使用解决方案(双系统)

背景想买新电脑, 又感觉市场电脑不太满足需求, 想要一个2K屏, 又高性能的笔记本.等了好久, 终于幻15出来了, 然后一直没货, 等啊等啊, 一直没有新货, 之后幻16出来了.于是就想方设法去抢幻16, 在网上找各种脚本, 并且又拜托一个家人帮忙抢幻16, 抢购现场特别火爆, 10万+个预定, 不知道发了几台呢? 结果最终脚本不顶用, 没抢到, 家里人帮忙用手抢到了.抢到了之后, 过了5天时间才收到货, 之后就迫不及待地拿来测试.联网不激活众所周知, 新买的笔记本电脑一般预装了window家

2021-07-01 16:31:37 5509 1

原创 64匹马,8赛道,找出跑得最快的4匹马,至少比赛9场

遇到这种问题, 首先先不要尝试思考赛马的方式, 首先要找上限和下限, 接下来不断通过验证和分析去缩短已经确定的上限和下限.这道题是至少比赛几次, 那就去找下限.1. 找下限假如 A>B, B>C, 我们称之为两对关系, 通过这两对关系, 我们就可以确定 A>C, 我们很容易得出想要确定 A,B,C 三者的关系, 至少需要确定它们两对关系.64 匹马, 确定它们所有马之间的顺序, 至少需要多少对关系呢?答案是 63 对关系, 它们的顺序是一条长链, 很容易想象.8个赛

2021-06-24 16:15:56 931

原创 JAVA 设计模式之代理模式——闭包代理(集成篇)

看完上一篇文章之后, 相信大家对闭包代理有了个初步认识.如果没看上一篇文章, 最好看一下, 闭包代理模式-初创篇因为闭包代理是针对函数式接口实例的代理, 而函数式接口实例可以相互转化, 非常灵活, 这就使得闭包代理即期强大.本篇文章, 就让我来写一个可以直接或间接代理所有方法的通用代理类.闭包代理集成分析以上一篇写的 OnceExecutorForConsumer 为例, 对于 OnceExecutorForConsumer 来说, 所有 Consumer 结构的方法(有一个参数, 无返回值).

2021-04-17 17:59:36 172

原创 函数式接口 与 lambda 表达式 的关系

概念简述Lambda 表达式(lambda expression)是一种表达式语法, 注意在java里面, 它不是对象. 以下均是lambda表达式 () -> "haha" a -> "hehe"java 中, 类名::方法名 和 对象::方法名 也都是 lambda 表达式函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口 与 lambda 表达式的关系lambda表达式

2021-04-10 11:03:57 504

原创 代码优雅之道:简化异常处理语句

代码优雅之道:简化异常处理语句异常处理方式先来个实际效果写代码时难免会遇到异常, 对待异常有的时候直接抛出, 有的时候需要实际的处理, 例如下面这个MessageDigest 里面是有MD5方法的, 那么这个异常完全没必要, 那就在方法内部对异常进行处理, 然后就变成了下面这样. /** * 获取一个byte[]的md5值 * * @param data 待转换的数据 * @return md5 byte[]的MD5值 */ pu

2021-04-05 03:24:06 489 1

原创 本地Host文件解析域名后访问阿里云服务器, 结果请求被拦截, 提示备案问题的解决方式

文章目录起因查找原因历程明明是通过本地host文件解析域名为ip地址, 为神马服务器还是知道我访问的域名呢最终解决方式起因上周腾讯云服务器使用时间到期了, 于是就想再换成阿里云服务器试试.买了服务器之后, 我的得到了我的云服务器公网ip: 118.xxx.xxx.xxx, 但是我向来是不记ip地址的, 连接云服务器都是使用的域名sinjar.cn, 我之前注册过域名, 但早到期了, 现在使用的域名sinjar.cn仅仅是在本地host文件里面解析的罢了. 本来想着, 既然换了服务器, 那就就把原来ho

2021-03-19 22:19:00 4446 8

原创 面试题:给定一个根目录,要求遍历其中的文件及子文件夹,返回所有后缀是.txt的文件List(不能使用递归)

题目给定一个根目录,要求遍历其中的文件及子文件夹,返回所有后缀是.txt的文件List(不能使用递归)解答下面两个工具方法, 两个方法含义和参数含义相同, 仅仅是处理方式不同, 第一个fileDisposeByRecursion是使用递归进行遍历文件/文件夹, 第二个fileDisposeByLoop是使用链表进行遍历文件/文件夹,package com.github.cosycode.common.util.io;import com.github.cosycode.common.base.F

2021-01-18 16:59:52 265

原创 从设计角度搞懂PECS &<T>&<? extends T>&<? super T> 关系

文章目录场景还原查找找原因从设计角度分析`T`和`? extends T`同理扩展分析`T`和`? super T`结论场景还原一个java开发者在其开发的生涯中, 难免会写这样的代码// 父类对象的集合引用子类对象的集合List<Father> fs = new ArrayList<Son>();也许你更多的遇到的是一个方法参数是List<Father>, 但是你传入了一个List<Son>进去, 但是无所谓了, 上面只是一个示例然后编辑器

2021-01-06 10:08:15 176

原创 面试题目:一个抽奖池设计(含代码)

题目如何设计一个抽奖池,总抽奖金额5w元,里面有1元的,2元的,5元的面额等等。每个面额的有指定的次数限制,比如1元的10000次,2元的20000次,5元的2000次。要求:每个面额的次数不能超总抽奖金额不能超性能不能太差,比如不能设置一个全局锁,至少是用户级别的锁设计思想该场景需要解决高并发问题,1元, 2元, 3元奖券, 以及金额池采用抽奖之前先冻结必要的奖券数和金额的方式, 之后抽奖后用不到的奖券和金额再释放掉.采用CAS的方式而不是锁能更好的提升并发量代码先编写抽奖相

2020-12-20 02:50:53 2053 11

原创 统一编码配置思想, 愿视界不再出现乱码(精华篇)

文章目录背景统一编码配置思想统一编码配置行为(以Java Web为例)关于`输出日志到文件` 和 `输出日志到控制台` 相关个人感悟附录log配置文件编码背景乱码问题, 最初只是因为搜遍全网搜不到有效的解决方式而做出的一篇还算不错的博客, 但是写完博客之后总觉得博客中的逻辑不够清晰, 而且篇幅太长, 于是想着优化一下.优化过程中又不知不觉补充些内容, 之后篇幅很长, 可又觉得描述的不够, 于是分成两篇文章, 可两篇文章每篇依然太长, 于是打算分成三篇来写.乱码问题(原理篇) ==> IDEA

2020-12-18 11:38:01 217

原创 单例模式工具类(com.github.cosycode:common-lang:LazySingleton)

单例模式简介本篇内容只是对单例模式简单介绍概念, 因为本篇文章着重不在此!普通饿汉式(一般用 static final 修饰)初始化其外部类时即创建, 优点: 简单, 方便, 缺点: 如果遇到那些初始化比较耗损时空间, 或建立一些连接之类的时成本比较高, 这个时候可以考虑使用饿汉式.懒汉式(双重锁判断)即懒加载形式的单例, 即用即加载. 双重锁判断是大多初学者的常用单例模式,懒汉式(静态内部类)这个是我之前一直使用的一种方式, 但是每次使用都还是挺麻烦的, 还要建立一

2020-12-17 18:55:39 492 2

原创 智力题论证(有一道选择题,ABC三个选项,一个正确答案, 假设你选择了A,但是通过计算知道C是错误答案,问B是正确答案的概率是多少)

wisdomwisdom question有一道选择题,ABC三个选项,一个正确答案, 假设你选择了A,但是通过计算知道C是错误答案,问B是正确答案的概率是多少.这道题有人认为A应该和B,C分开, 利用部分整体思想, 此时B应该共享C的概率, 因此B正确的概率应为2/3wisdom answers逻辑分析A, B, C三个选项里面有一个是正确答案, 三个组成一个整体, 通过计算...

2020-12-10 09:10:21 3731

原创 BeyondCompare 源代码比对解决方案

源代码比对解决方案文章目录源代码比对解决方案背景方案简介Beyond Compare功能与简介有 jar 包的文件夹比对示例step1. 安装 java Class to Source 插件step2. 准备需要比较的两个文件夹step3. 文件夹比对背景jar包比对.源代码比对.方案简介使用Beyond Compare软件来进行代码比对将需要比较的jar或者源代码或其它文件放入两个文件夹中, 通过Beyond Compare一次性比较两个文件夹中的全部内容.通过Beyond comp

2020-12-10 09:05:03 5563 1

原创 IDEA控制台乱码原理性深入研究分析与解决方案

文章目录简单分析可能造成乱码的原因深入分析乱码原理1. 首先让我们列举下我们可能用到的编码有哪些2. 其次让我们分析下JAVA IDEA开发中涉及到的编码配置可能有哪些接下来让我们通过问答的方式大家明白几个解释起来比较散乱的常识Q1: java 源代码会对乱码有影响吗Q2: -Dfile.encoding到底是什么Q3: file.encoding到底是有什么用Q4: console.encoding 是什么Q5: log 日志配置对乱码有影响吗Q5: log配置文件中编码如何配置(以log4j2 配置为例

2020-12-10 00:27:05 2586 28

原创 MYSQL-消灭NULL列数据执行方法

将数据表中为空的数据全部置为EMPTY STRING将所有表所有字段中数据为空的数据置为""的 SQL 语句-- 生成 将所有表所有字段中数据为空的数据置为""的 SQL语句SELECT -- c.table_schema, c.TABLE_NAME, t.TABLE_TYPE, c.column_name, c.data_type, c.column_type, c.IS_NULLABLE, concat( 'update `', c.table_schema, '`.`', c.tab

2020-11-06 00:28:25 241

原创 Java:使用Robot类模拟键盘, 以Alt码方式输出汉字

Java:使用Robot类模拟键盘, 以Alt码方式输出汉字文章目录Java:使用Robot类模拟键盘, 以Alt码方式输出汉字java.awt.Robot类使用Alt码输出汉字尝试 `Alt + 数字` 输出汉字Alt 后面数字代表的意思使用java获取一个符号的区位码使用java Robot利用键盘输出String的完整代码如下java.awt.Robot类Java提供java.awt.Robot类来模拟操作键盘和鼠标, 下面是一个简单的demo public static void ke

2020-08-30 21:36:38 1677 1

原创 java 发送 Http 请求笔记 以及踩得坑

java 发送 Http 请求笔记http 代码这几天使用 java 代码发送 http请求, 真的是搞得我焦头烂额. 在网上找了几十篇文档, 几乎都大同小异.首先是网络上最通用的代码 public static void callUrl(@NonNull String json, @NonNull String url, Charset charset) throws IOExce...

2020-06-08 18:27:49 566

原创 jnlp 项目部署发布示例

jnlp 项目示例文章目录jnlp 项目示例简介jnlp项目示例1. 创建一个可执行jar2. 为jar添加签名3. 编写 jnlp 文件4. 发布前三步的文件到服务器5. 测试执行问题浏览器输入Url只下载不执行 & 双击`.jnlp` 文件不执行简介JNLP(Java Network Launch Protocol)是一种用来在网络中部署应用程序的一种协议;在客户端只需要安装 ...

2020-03-20 17:37:41 1229

原创 可配置式数据字典解决方案

可配置式数据字典解决方案文章目录可配置式数据字典解决方案需求和问题设计思路优点数据字典表设计需求和问题字典表在数据库里面管理, 字典表可以由页面进行配置配置.字典表是需要可配置的, 因此代码里面不能够有任何字典项信息, 那么字典表和代码衔接问题需要解决.前后台接收发送数据字典的方式.设计思路要想使用数据库管理字典表首先需要建立字典表, 建立两张表, 一张管理字典类型信息, 一张...

2019-12-11 19:10:29 1598

原创 window命令行下快速定位路径方法(图形和脚本两种实现方式)

命令行下快速定位路径方法window cmd下快速定位文件夹路径方法例如我们想打开路径 P:\pdata\vscode\ant-design-pro方法1 : 需要先定位到指定文件夹通过鼠标单击定位至指定到P:\pdata\vscode\ant-design-pro文件夹下.在导航栏输入cmd可是这种方式对于我们时常需要打开指定文件夹下编译的人来说, 依然很费劲, 这个时候就会很羡...

2019-10-21 21:11:22 2253 4

原创 虚引用 PhantomReference 和 OOM 异常

最近看了一篇关于虚引用说起来, 在稍微深入了解Java的程序员都知道Java有四大引用–强弱软虚, 都知道强引用就是普通的引用, 弱引用只要进行垃圾回收的时候就会被回收掉, 软引用比强引用弱, 比弱引用强, 内存充足的情况下不会被回收,内存不充足的情况下才会被回收。能够很好地避OOM异常。但是虚引用是什么东西. 在网上搜了好多资料, 真的好多文档都没有什么首先先介绍一下强引用, 弱引用, 软引...

2018-12-27 10:36:12 821 1

原创 javaScript 原型图解析总结

首先, 搞清楚几个概念:每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法。__proto__ 是每个对象都有的一个属性,而prototype是函数才会有的属性!!!js语言本身就有两个特殊的函数 Objec...

2018-12-22 14:01:44 267

原创 vscode 添加新建文件夹快捷键 (配置 when 属性)

实现目标在获取左侧项目栏文件夹焦点情况下 添加新建文件夹的快捷键 Shift + A我本来是个atom忠实粉丝, 但是atom使用window10自带输入法在书写汉字时总是会出现首字母缺失的情况, 查了好久没法解决, 直接放弃了atom, 转而使用Vs code书写markdown,但是使用Vs code时发现在左侧导航栏配置新建文件和文件夹没有快捷方式, 于是就想配置一个, 但是在百度上...

2018-12-18 00:45:05 17119 9

空空如也

空空如也

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

TA关注的人

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