- 博客(334)
- 资源 (46)
- 收藏
- 关注
原创 柯里化 Java 实现
柯里化(英语:Currying),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。可以将具有多个参数的函数转换为一个单参数的函数链。这种转变是现在被称为“柯里化”的过程。—— 维基百科优点复用转换逻辑为不同的转换因子创建不同的转换方法解耦可以延迟执行特点返回值类型、参数类型相同可以将一组参数拆成一个一个的函数组合function int (int a, int b, int c) -> .
2021-03-02 23:10:43 564
原创 获取随机数据并且不重复
场景介绍1. MySQL 中有 500 条视频数据2. 用户每次请求随机获取视频列表每次从 MySQL 中获取 20 条数据每次获得的数据不能重复3. 用户数量、视频数量会不断增加用户数量数量上限 1,000 万视频数量数量上限 9,000 万方案一 Redis 集合求差集优点每条数据都是随机产生缺点内存消耗巨大方案二 随机一个页数,每次请求页数递增优点内存消耗低缺点只是分页数随机没有做到所有数据都随机...
2021-02-23 20:33:16 958
原创 Java 最强并行(I/O密集型)方法
预备知识理论来源:《Java实战(第2版)》16.3.4 使用定制的执行器调整线程池的大小,《Java 并发编程实战》中的公式线程数 = Cpu 核心数 * 期望的 CPU 利用率(0和1之间) * (1 + 等待时间/计算时间)CPU 核心数可以通过 Runtime.getRuntime.availableProcessors() 得到避免过载,最好设置线程数上限并行:使用流还是 CompletableFuture ?流计算密集型没有 I/O因为实现简单,同时效率也可能是最
2021-02-20 21:45:19 991
原创 沈家门、宁波、天台美食
沈家门高佳庄舟山海鲜大排档31号(希尔顿酒店对面)宁波住天一广场附近吃饭很方便缸鸭狗不用排很久的队适合游客,比较贵甬上名灶早点去,还有希望排的上队分量可以阿拉名灶最好营业前1小时到,取号排队,不然很可能吃不上打包好像可以不用排队(东坡肉不能打包)分量可以点菜的地方有个店家整理的推荐排行子曰糊涂黄花鱼锅贴很好吃台州·天台御清斋...
2020-10-13 02:38:16 300 2
原创 Ubuntu开机自动启动脚本
版本:Ubuntu 18.04.3 LTS、Ubuntu 20.04.1 LTS以自动启动fpr为例1. 编写启动脚本auto-start.sh#!/bin/sh# 打印测试 echo $(date) Test file > /home/aoe/downloads/auto-start.log# 启动frp/home/aoe/usr/frp_0.33.0_linux_amd64/frpc -c /home/aoe/usr/frp_0.33.0_linux_amd64/aoe.
2020-09-13 12:22:38 459
原创 JMeter 集群入门
JMeter 集群入门快速启动1. 下载最新版 JMeter为了避免不必要的错误,客户端、服务端请使用相同版本2. 服务端启动bin/jmeter-server -Djava.rmi.server.hostname=192.168.0.161 -Dserver.rmi.localport=9900 -Dserver_port=9900 -Dserver.rmi.ssl.disable=truejava.rmi.server.hostname:远程访问地址server.rmi.local
2020-09-10 21:16:22 414
原创 RSA Java Demo
简介主要参考Oracle官方文档资料列表Generate Public and Private KeysJava Cryptography ArchitectureStandard Algorithm Name Documentation for JDK 8入门示例需要的包import java.io.UnsupportedEncodingException;import java.security.*;import java.security.spec.InvalidKey
2020-08-14 00:06:11 268
原创 OkHttp3 Header 为什么不能传中文?
简单解释HTTP 协议只支持在 Header 中 传输 ISO-8859-1 编码格式Hypertext Transfer Protocol – HTTP/1.114.2 Accept-Charset The Accept-Charset request-header field can be used to indicate what character sets are acceptable for the response.This field allows clients capable
2020-06-14 23:15:57 1197
原创 Mac终端自动登录服务器
效果输入命令,选择一个序号登录服务器$ aoel(1) first 192.168.1.1 (2) 第二台机器 192.168.1.2配置文件1. 填写服务器信息 computerInfo.ini#ip port user password description192.168.1.1 22 root 123456 first machine
2020-06-14 21:59:37 827 1
原创 JDK Mission Control (JMC) 使用说明
最简单的远程连接-Djava.rmi.server.hostname 如果不配置,很可能无法连接java -Dcom.sun.management.jmxremote.port=8091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=<远程JVM主机IP> -Dspring.profiles.acti
2020-06-10 19:34:03 1363
原创 TestNG无法获取MyBatis XML文件的解决方法
使用TestNG测试含有MyBatis的项目时,可能出现找不到XML文件的异常org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):假设你的MyBatis对应的XML文件都放在 src/main/resources/mapper 下编译后 target/classes 文件夹中会包含 mapper 文件夹target/test-classes 文件夹中没有 mapper 文件夹 !所以报错
2020-05-08 22:24:18 415
原创 网络编程学习笔记
炫酷的协议SPDYGoogle开发的基于TCP的会话层 协议多路复用流:通过单一的TCP连接,可以无限制处理多个HTTP请求。所有请求的处理都在一条TCP连接上完成,因此TCP的处理效率得到提高。WebSocket全双工通信参考资料上野宣. 《图解HTTP》 (图灵程序设计丛书) 人民邮电出版社...
2020-04-03 23:39:40 173
原创 数据存储解决方案
复制状态机一个上世纪70年代的理论,现在被广泛用于同步策略,如MySQL、Redis、ES等1978 年 Lamport 的一篇论文《The Implementation of Reliable Distributed Multiprocess Systems》分表历史归档当单表的订单数据太多,多到影响性能的时候,首选的方案是,归档历史订单。所谓归档,其实也是一种拆分数据的策略。...
2020-03-30 17:19:34 737
原创 二叉检索树、跳表、数组比较
查询数据结构时间复杂度备注二叉检索树O(log n)-跳表O(log n)理想情况下数组O(log n)-由于有内存局部性原理,数组的查询效率是高于树和跳表的。甚至在小数据的情况下,都有可能数组的移动代价也不高(CPU缓存 + 内存拷贝)。范围查找数组效率会远高于跳表和树:数组能快速处理大段区域(比如使用内存拷贝技术),再叠加局部性原理...
2020-03-30 16:19:22 812
转载 裴波那契公式
public int climbStairs(int n) { double sqrt5=Math.sqrt(5); double fibn=Math.pow((1+sqrt5)/2,n+1)-Math.pow((1-sqrt5)/2,n+1); return (int)(fibn/sqrt5); }复杂度分析时间复杂度:O...
2020-03-26 14:23:43 241
原创 Java 线程池
四种经典线程池1. newFixedThreadPoolnewFixedThreadPool 将创建一个固定长度的线程池,每当提交一个任务时就创建一个新、线程,直到达到线程池的最大数量,这时线程池的规模将不再变化(如果某个线程由于发生了未预期的Exception而结束,那么线程池会补充一个新的线程)。2. newCachedThreadPoolnewCachedThreadPool ...
2020-03-16 01:23:41 161
原创 IntelliJ IDEA Community 常用插件
Spring AssistantMyBatis pluginMyBatis Log PluginLombokFindBugsJBLSpringBootAppGen introMavenPluginMaven RunnerSequenceDiagram 时序图生成工具Key promoter X 快捷键提示String Manipulation 强大的字符串转换Codota ...
2020-03-13 19:02:47 1930
原创 程序员学习推荐书籍
Java书名描述备注Java Performance作者 Charlie Hunt;杨晓峰文章中提到过Java Performance:The Definitive Guide作者 Scott Oaks ;杨晓峰文章中提到过
2020-02-17 15:32:54 1477
原创 MySQL学习笔记
查找长事务-- 查找持续时间超过 60s 的事务select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60redo log 与 change bufferredo log 主要节省的是随机写磁盘的 IO 消耗(转成顺序写)change buffer 主...
2020-01-16 13:41:36 207
原创 设计模式学习笔记
S.O.L.I.D 原则单一职责(Single Responsibility),类或者对象最好是只有单一职责,在程序设计中如果发现某个类承担着多种义务,可以考虑进行拆分。开关原则(Open-Close, Open for extension, close for modification),设计要对扩展开放,对修改关闭。换句话说,程序设计应保证平滑的扩展性,尽量避免因为新增同类功能而修改已有...
2020-01-13 14:19:22 154
原创 Spring学习笔记
Spring Framework 的核心模块spring-core: Spring 基础 API 模块,如资源管理、泛型处理。spring-beans: Spring Bean 相关,如依赖查找、依赖注入。spring-aop: Spring AOP 处理,如动态代理、AOP字节码提升。spring-context: 事件驱动、注解驱动、模块驱动等。spring-expression:...
2020-01-11 23:41:29 208
原创 递归
学习要点:避免人肉递归(初学时可以手动画递归状态树),要从函数本身开始写找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)数学归纳法思维递归模板 public void recursion(int level, int param) { // 1. terminator 终结条件 if (level > MAX_LEVEL) { ...
2019-12-22 11:42:58 174
原创 两个大数相加
题目:两个正整数相加例如:"1" + "2" = "3""11111111111111111111111111111111111111111111111111" + "11111111111111111111111111111111111111111111111111" = "22222222222222222222222222222222222222222222222222"...
2019-12-20 20:06:23 1251
原创 二进制(Java 版)
操作效果(十进制)描述备注左移✖️2在末尾添加一位 0⚠️有溢出风险右移将数字除以 2 并求整数商的操作去除末尾的那一位 0操作符号说明左移<<逻辑右移>>>逻辑右移 1 位,左边补 0 即可算术右移>>保持符号位不变,除符号位之外的右移一位并补符号位 1。补的 ...
2019-12-17 20:01:23 205
原创 IntelliJ Idea 快捷键
IntelliJ Idea 快捷键整理自视频教程快捷键功能备注打开类⌘ + O打开文件⌘ + ⇧ + O打开单元测试⌘ + ⇧ + T如果没有,可以创建;测试类中使用可以跳回实现代码打开最近打开的文件⌘ + E打开上一次打开的文件⌃ + Tab删除行⌘ + Delete剪切行⌘ + X粘贴时会出现在光标的...
2019-12-01 11:53:03 397
转载 将master分支内容合并到dev分支
转自作者:ForeverMaggieGuo原文:https://blog.csdn.net/qq_34206198/article/details/52055395将分支切换到mastergit checkout master将代码pull到本地git pull修改冲突提交到本地git add .git commit -m "merge"切换到你所...
2019-07-11 14:58:36 12085 2
原创 Kafka学习笔记
2019-06-12Kafka的不同版本Apache Kafka,也称社区版 Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你 有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。Confluent Kafka,Confluent 公司提供的 Kafka。优势在于集成了很多高级特性且由 Kafka 原班人马打造,质量上有保证;缺陷在于相关文档资料不全,普及率较低,...
2019-06-12 00:59:01 144
翻译 selenium POST Java实现
原文java实现public void post(String url) throws InterruptedException { String chromedriverPath = "chromedriver"; // Optional, if not specified, WebDriver will search your path for chrome...
2019-05-28 20:31:10 3204 3
翻译 selenium判断加载完成java实现
翻译 selenium官方文档显式等待显式等待是您定义的代码,用于在继续执行代码之前等待某个条件发生。最糟糕的情况是Thread.sleep(),将条件设置为等待的确切时间段。有一些便利方法可以帮助您编写只需要等待的代码。WebDriverWait结合使用ExpectedCondition是一种方法。WebDriver driver = new FirefoxDriver();dri...
2019-05-26 02:17:09 2368
转载 mybatis mysql的时区问题解决
原文链接上添加serverTimezone=Asia/Shanghaijdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
2019-05-22 21:28:53 6142 2
原创 Mybatis Plus LocalDateTime更新错误
这样更新时间会发现时区不对order.setPaymentTime(LocalDateTime.now());UpdateWrapper updateWrapper = new UpdateWrapper();updateWrapper.eq("id", 666);orderInfoService.update(order, updateWrapper);改成这样就行Update...
2019-05-15 21:51:25 5211
原创 Mybatis Plus 时间查询无效解决方法
错误写法DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");QueryWrapper query = new QueryWrapper();query.le("create_time", LocalDateTime.parse("2019-05-13 23:00:00", df));正确写法...
2019-05-13 23:28:39 12440 6
原创 nacos高并发没有想象的那么容易
测试说明1. 测试结果使用nacos结果:222296次请求,用时11分05秒,错误率 0%,吞吐量334.0/秒个人评价:相对直连方式吞吐量略低,但稳定直连方式结果:224216次请求,用时9分44秒,错误率 0.41%,吞吐量384.2/秒个人评价:相对nacos集群方式吞吐量略高,但在请求数过20万后开始出现失败情况,没有集群稳定个人感慨高并发好难,不是写好代...
2019-05-03 01:35:14 8484 8
原创 杭州市个人所得税查询
登陆浙江政务服务网点击网页右侧“智能客服”搜索“个人所得税查询”得到一个回复您好,个人所得税(纳税证明)的查询和打印请点击 个人纳税证明入口当您看到的是一个下载页面时,请重新从第2步开始,或点击个人所得税完税证明开具...
2019-04-30 10:32:05 1149
原创 Centos7 安装微服务环境 2.0
查看系统是否64位uname -a添加用户useradd -d /usr/www -m wwwlinux下将目录授权给其他用户的步骤1. 更改目录所有者命令chown -R 用户名称 目录名称chown -R www /usr/www2. 更改目录权限命令chmod -R 755 目录名称chmod -R 755 /usr/wwwroot用户修改其他用户的密码在ro...
2019-04-20 20:27:05 779
原创 微服务事务入门
理论CAP 定律,最终一致性Base 理论基于XA协议的两阶段提交FLP(FLP Impossibility Result 不可能性) :在异步通信场景,即使只有一个进程失败,也没有任何算法能保证非失败进程达到一致性!共识算法事务传播机制事务隔离性解决方案XA重量级基于可靠消息的最终一致性方案TCCSaga注意事项基本上,每个人刚开始建立一个分布式系统时,都...
2019-04-16 22:58:20 198
原创 《图解Java多线程设计模式》学习笔记
【日】结城浩 著侯振龙 杨文轩 译源码地址点击”随书下载“第1章 Single Threaded Excution 模式 ——通过这座桥的只有一个人java.util.concurrent.Semaphore (计数信号量)P53使用场景确保某个区域”最多只能由N个线程“执行。注意事项semaphore的acquire方法和release方法必须成对调用示例impo...
2019-03-16 22:17:58 508
Android Design library的demo
2015-10-06
PinnedHeaderExpandableListView android studio 工程
2015-09-30
GoogleIO2013 Android快速联网框架Volley
2015-06-12
mysql省市区邮政编码和区号级联sql文件
2009-05-12
weblogic插件
2008-10-31
iReport和JasperReports报表开发指南
2008-10-16
iReport菜鸟级入门教程
2008-10-14
jasperreport入门例子
2008-10-14
JPA教程(不用写那么详细了)
2008-09-27
时代新潮流UMLProgramming Guide设计核心技术(8.09 MB pdf)
2008-02-26
McGraw.Hill.How.to.Do.Everything.with.JavaScript.eBook-DDU.pdf
2008-01-07
Spring2.0参考手册(中文chm)
2007-09-22
Spring2.0参考手册(中文pdf)
2007-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人