- 博客(37)
- 收藏
- 关注
原创 Java 自动生成数据库设计文档
背景:有时候急需要数据库设计文档,手写太麻烦,这里介绍一款开源组件,可以自动根据数据库连接生成数据库设计文档。废话不多说,直接上代码。
2024-05-16 11:30:47
615
1
原创 JAVA 使用 jna 对接 打印机sdk(dll文件)
步骤概述:1. 定义Java接口:首先,在Java中定义一个接口,声明你想要调用的原生方法。2. 使用javah生成C头文件:虽然现代JDK版本已不再需要这一步,但理解这个过程有助于明白JNI的工作原理。现在可以直接编写JNI/JNA代码而不需要javah。3. 编写C/C++代码:根据接口定义,编写包含实现这些原生方法的C/C++代码,并确保遵循Windows下的调用约定(如__stdcall),这通常通过在函数声明中使用__declspec(dllexport)和指定正确的调用约定来完成。
2024-05-16 10:34:10
714
原创 IDEA的terminal中执行git命令中文乱码问题
ideal默认使用的是系统cmd,并且在系统的cmd中直接执行git命令也是乱码,说明这个不是IDE的设置问题,需要在系统中指定编码格式。
2023-01-05 18:46:41
987
原创 【网络编程】3. Netty责任链模式详解
一,设计模式-责任链模式责任链模式(Chain of Responsibility Pattern )为请求创建了一个处理对象的链。发起请求和具体处理请求的过程进行解耦,职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递。二,实现责任链模式责任链模式有四个要素:处理器的抽象类 具体的处理器实现类 保存处理器信息 处理执行三,Netty中的ChannelPipeline责任链Pipeline管道 保存了通道所..
2021-12-24 14:59:45
1354
原创 【网络编程】2. Netty详解
一,Netty入门篇1.什么是NettyNetty是由JBOSS提供的一个java开源框架,是一个高性能,高扩展性的异步事件驱动的网络应用程序框架,它极大地简化了TCP和UDP客户端和服务器开发等网络编程。2.Netty的特性3.Netty的整体结构官方图片,包含三大块内容:1、 支持 Socket 等多种传输方式;2、 提供了多种协议的编解码实现;3、 核心设计包含 事件处理模型、 API的使用、 ByteBuffer 的增强;4.Netty的核心组件..
2021-12-24 11:49:11
446
原创 【网络编程】-1. BIO && NIO && AIO 概念
阻塞(blocking)IO: 资源不可用时,IO请求一直阻塞,直到反馈结果(游数据或者超时)。非阻塞(non-blocking)IO :资源不可用时,IO请求离开返回,返回数据标志资源不可用。同步(synchronous)IO:应用阻塞在发送或接收数据状态,直到数据成功传输或失败返回。异步(asynchronous)IO:应用发送或接收到数据后立刻返回,实际处理是异步执行的。阻塞/非阻塞:获取资源的方式同步/异步:处理资源的逻辑设计一,BIOBIO, Blocking I/O ...
2021-12-23 15:31:02
186
原创 浅析设计模式
1.设计思想目的:易于扩充,易于维护1.OOP 面向对象类: 模拟现实接口:隔离变化抽象类:包容变与不变继承,封装,多态2.OO设计原则:a.找出变化,分开变化和不变的b.面向编程3.设计模式:a,策略模式、面向接口b.工厂模式...
2021-07-10 15:56:28
172
原创 ThreadPoolExecutor 配置详解
一,ThreadPoolExecutor介绍ThreadPoolExecutor 是Java原生的线程池,我们只需要简单配置一下就可以使用了二,线程池配置详解ExecutorService exe = new ThreadPoolExecutor( //核心线程池大小 CORE_POOL_SIZE, //最大线程...
2020-03-04 16:44:35
1402
原创 java8 常用新特性总结---Lambda表达式
一,lambda 表达式1,语法//单行(parameters) -> expression//多行(parameters) ->{ statements; }2,作用 1)lambda 允许把函数作为参数传递进方法中 2)使用 Lambda 表达式可以使代码变的更加简洁紧凑声明一个接口interface SayHello{ /** ...
2020-03-04 15:32:58
211
原创 VIM 常用命令总结
一,概述vim是从 vi 发展出来的一个文本编辑器。vim 的官方网站 (http://www.vim.org)vim有三种模式:命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)二,命令模式(Command mode)刚进入vim,便进入了命令模式。命令模式下敲击键盘动作会被Vim识别为命令,而非...
2019-12-18 11:50:59
222
原创 win10 下C语言的环境搭建
一,前言由于有需要用到C语言,记录一下搭建心得二,准备如果想要设置 C 语言环境,需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。三,C语言编译器写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。C 语言编译器用于把源代码编译成最终的可执行程序。四,GCC安装GCC(GNU Compiler ...
2019-12-18 09:58:48
5395
原创 java8 stream的使用
从list集合中拿出两个字段组成MAPMap<Integer, String> userMap = userList.stream().collect(Collectors.toMap(User::getTjid, User::getName))从list集合中拿出一个字段作为key,对象作为valueMap<Integer, User> userMap =...
2019-12-11 14:55:31
1399
1
原创 koala安装出现的问题
一,乱码问题D:\Koala ubygems\gems\sass-3.4.9\lib\sass修改 engine.rb 文件在require 最下面 加入以下代码 即可解决Encoding.default_external = Encoding.find('utf-8')二,语言问题:将界面语言设置成中文默认安装后界面是英文,如下:需要执行一下几个步骤才能将界面语...
2019-11-28 09:30:05
513
原创 SVN 503,403 异常解决
一,背景本人win10系统恢复出厂设置,软件均被卸载,其中包括TortoiseSVN。于是重装TortoiseSVN,重新定位了资源库,密码验证。试了试用小乌龟跟新一下项目文档,一切都看起来没有问题直到,我打开了eclipse .二,问题同样我试了试跟新一个项目代码,结果抛错:控制台打印错误:update D:/eclipse_workspace2/Estor...
2019-11-28 09:29:35
736
原创 行内元素和块级元素的相互转换
一,概述正 常文档流是从左到右,从上到下,遇块(块级元素)换行块级元素的概念:会独占一行的就是块级元素,如:h1-h6,div,p,ul,li ... 行内元素的概念: 不会独占一行的就是行内元素,如:span,a,img,input ...二,Display 属性Display取值:inline-block,block,inlineDi...
2019-11-28 09:29:01
1012
原创 css零碎知识:浅谈css position 属性
一. position 定位三要素1、参考位置a. 相对定位position:relative:位置根据本身正常位置做调整;top/bottom/left/right指的是位置偏离原位置上下左右多少距离b. 绝对定位position:absolute:根据父元素的位置昨调整,要想让元素的绝对定位设置成功,那么必须让该元素的父元素的position设置为relativ...
2019-11-28 09:28:38
327
原创 css零碎知识:个人总结
a. 设置透明度:opacity:1.0;b. /*css初始化,所有元素的内边距,外边距为0*/*{ margin:0; padding: 0;}c. /*当鼠标悬停在li标签上时,该li标签的子标签div的样式为啥样*/.shopListli:hover div{ ...}d. /*选择类名为shopList标签的...
2019-11-28 09:27:38
119
原创 js零碎知识:继承-extends
//静态方法、属性//定义一个结构体function People (){}People.name = 'aaa';People.findData = function(){ alert("staticMethod");}//alert(People.name);//People.findData();//--------------------------继承开始//...
2019-11-28 09:27:14
229
原创 HTML零碎知识:html总结
一,概述HTML: Hyper Text Mark-up Language二,知识点1,<html></html> -- html标签,所有的网页内容都放在 html标签中,html标签是网页中最大的标签2,<head></head> -- 头部标签,标签内的所有内容一般不会被显示在网页上,主要是给搜索引擎(百度,...
2019-11-28 09:26:40
375
原创 windows 小技巧:dos 命令
一,概述DOS: Disk Operating System磁盘操作系统二,命令1. 打开doswindows + r如果想要进入计算机的某个盘,直接输入盘符号再加上冒号:如果想要查询某个dos命令的参数:在命令后加上/?,例如:md /?2.用dos命令创建 文件夹创建文件夹命令 MD (是mkdir的缩写 make dir)...
2019-11-28 09:25:43
316
原创 css零碎知识:css盒模型
一,概述css盒模型: Box Model它规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。二,内边距:paddingpadding 属性定义元素边框与元素内容之间的空白区域。特点:会改变元素本身大小复合padding:Padding: 40px; 上下左右Padding: 40px 20px; 上下, 左右Padding: 40px...
2019-11-28 09:24:49
90
原创 ORM框架---JOOQ简单介绍
一,什么是JOOQ继Hibernate Mybatis 之后的又一ORM框架二,特点1.get back in control of your sql2.DSL(Domain Specific Language )风格,代码够简单和清晰3.支持主流的RDMS�和更多的特性,如self-joins,union,存储过程,复杂的子查询等等。4.三,使用pom...
2019-11-21 10:48:21
2253
原创 redis 练习笔记(七)--- redis 复制
一,主从复制1. 配置文件a. 从节点配置文件加入 slaveof masterIp masterPort ,b. 先启动master 后启动 slave 即可完成复制2. 启动命令配置redis-server --slaveof masterIp matesrPort3.相关知识命令a. info replication 查看当前服务的位置b. sl...
2018-12-12 00:50:19
172
原创 redis 练习笔记(六)--- redis 持久化
一,概述redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失;二,RDB1. rdb概述RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发2.手动触发 i. save: 阻塞当前Redis,直到RDB持久化过程完成为止,若内存实例比较大会造成长时间阻塞,线上环境不建议用它 ii. bgsa...
2018-11-28 17:59:15
186
原创 redis 练习笔记(五)--- redis 功能
一,redis 慢查询1.概述慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来,帮助开发和运维人员定位系统存在的慢操作。redis命令生命周期:发送 排队 执行 返回。慢查询只统计第3个步骤 执行的时间注意:i,慢查询只记录命令在redis的执行时间,不包括排队、网络传输时...
2018-11-27 17:38:27
260
原创 redis 练习笔记(四)--- redis 管理
一,键管理1. 键的重命名rename oldkey newkey 键的重命名renamenx oldkey newkey 重命名,要求newkey不存在dbsize 查看库randomkey 返回随机键2. 键过期expire name second 设置name在second秒后过期( 对于字符串二次设值后,expire无效)expireat key un...
2018-11-27 12:15:35
149
原创 redis 练习笔记(三)--- redis 应用
一,redis-hash1.概述redis中的hash 是一个String类型的field 和 value的映射表,hash 特别适合存储对象2.相关命令i. addhset key field value 设置/添加某个属性值 成功返回1,失败返回0(key中的field 已存在则失败)hmset key field1 value1 field2 value2.......
2018-11-24 17:22:21
321
1
原创 redis 练习笔记(一)---了解,安装,基本命令练习
一,概述1.redisredis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线,等附加功能,流水线: Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端, 使用这...
2018-11-14 17:24:40
1381
原创 消息中间件(四)
一,AMQP的经典实现 RabbitMQ1.安装a.下载i.下载Erlang:http://www.erlang.org/downloads/19.2ii.下载Windows版RabbitMq:http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6.exeb.配置ERLANG_HOME C:\...
2018-05-01 17:23:57
236
原创 消息中间件(三)
一. AMQP协议1.概述 AMQP: Advanced Message Queuing Protocol 是一个提供统一消息服务的应用层标准高级消息队列协议,一种应用层协议的开放标准,面向消息,支持不同语言和不同的产品 经典实现:RabbitMQ2. 角色a)生产者消息的创建者,发送到amqp的消息中间件b) 消费者连接到amqp的消息中间件,订阅到队列上,进行消息的消...
2018-04-21 23:19:55
300
原创 消息中间件(二)
一. JMS规范1. JMS概念本质是API,Java平台消息中间件的规范,java应用程序之间进行消息交换。并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。2. JMS对象模型 1)连接工厂:创建一个JMs连接2)JMS连接:客户端和服务器之间的一个连接。3)JMS会话:客户和服务器会话的状态,建立在连接之上的4)JMS目的:消息队列5)JMS生产者:消息的生成6)JMS消...
2018-04-21 11:47:08
234
原创 消息中间件(一)
一. 消息中间件1. 概念 没有标准定义,一般认为,采用消息传送机制/消息队列 的中间件技术,进行数据交流,用在分布式系统的集成 作用:消息中间件解决了分布式系统之间消息的传递。 RPC:远程过程调用协议 RPC和消息中间件的选用/区分标准: a.系统之间的依赖程度 b.量(业务量,数据量,访问量)2. 使用场景a. 异步处理需求: 用户注...
2018-03-29 22:29:14
317
原创 zookeeper 笔记 (四)
一. Zookeeper典型应用场景实现1. 数据发布/订阅(配置中心)借助zookeeper的节点 和节点的监听机制来实现配置中心eg: 连接数据库参数的配置zkCli.sh:在zk端创建相关节点,并赋值[zk: localhost:2181(CONNECTED) 1] ls /jdbcCfg[driver, password, url, username][zk: localhost...
2018-03-28 21:59:26
357
原创 zookeeper 笔记 (三)
一. Paxos算法1. 概述 paxos算法是一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的。Google Chubby的作者Mike Burrows说,这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品。 Paxos是多数派决议(最终解决一致性问题),作者是莱斯利·兰伯特(Leslie Lamport),与1990年提出2. 角色设定Pro...
2018-03-19 16:56:55
794
原创 zookeeper 笔记 (二)
一. ZK Shell的使用1. 概述 Zookeeper提供类似shell环境,方便用户访问、操作数据,使用 bin目录下的 zkCli.sh命令,可以进入shell环境,同时可以查看到Zookeeper环境配置。2. 常用命令zkCli.sh [-server ip:port]./zkCli.sh -timeout 0 -r -server ip:port./zkCli...
2018-03-19 11:43:12
358
原创 zookeeper 笔记 (一)
一. 分布式简介1. 概念 一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统2. 分布式&集群分布式:一个业务分拆多个子业务,部署在不同的服务器上。是一种工作方式,解决高并发,高可用。集群:同一个业务,部署在多个服务器上。是一种物理形态,从物理上定义,解决高可用。3. 分布式协作中的难点a. 保证节点高可用(节点...
2018-03-16 15:50:44
372
原创 2018年3月16日 我的第一篇博客
这是一封测试博客1.标题内容图片:链接:优快云登陆链接代码:public class TestMain { public static void main(String[] args) { System.out.println("hello 优快云 ... "); } }SELECT * FROM USER表格:关键字作用volatile表明两个或者多个变量必须同步地发生...
2018-03-16 11:51:12
207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人