JAVA
wyyl1
人工智能的成功将威胁人类的生存。量子计算机的成功让我们更了解宇宙。生物计算机的成功让人类功能更强大。反质子发动机的成功可以改变交通方式。要实现星际旅行需要空间折叠。
展开
-
柯里化 Java 实现
柯里化(英语:Currying),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。可以将具有多个参数的函数转换为一个单参数的函数链。这种转变是现在被称为“柯里化”的过程。—— 维基百科优点复用转换逻辑为不同的转换因子创建不同的转换方法解耦可以延迟执行特点返回值类型、参数类型相同可以将一组参数拆成一个一个的函数组合function int (int a, int b, int c) -> .原创 2021-03-02 23:10:43 · 548 阅读 · 0 评论 -
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 · 958 阅读 · 0 评论 -
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 · 257 阅读 · 0 评论 -
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 · 1167 阅读 · 0 评论 -
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 · 1340 阅读 · 0 评论 -
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 · 398 阅读 · 0 评论 -
裴波那契公式
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 · 234 阅读 · 0 评论 -
Java 线程池
四种经典线程池1. newFixedThreadPoolnewFixedThreadPool 将创建一个固定长度的线程池,每当提交一个任务时就创建一个新、线程,直到达到线程池的最大数量,这时线程池的规模将不再变化(如果某个线程由于发生了未预期的Exception而结束,那么线程池会补充一个新的线程)。2. newCachedThreadPoolnewCachedThreadPool ...原创 2020-03-16 01:23:41 · 150 阅读 · 0 评论 -
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 · 200 阅读 · 0 评论 -
二进制(Java 版)
操作效果(十进制)描述备注左移✖️2在末尾添加一位 0⚠️有溢出风险右移将数字除以 2 并求整数商的操作去除末尾的那一位 0操作符号说明左移<<逻辑右移>>>逻辑右移 1 位,左边补 0 即可算术右移>>保持符号位不变,除符号位之外的右移一位并补符号位 1。补的 ...原创 2019-12-17 20:01:23 · 195 阅读 · 0 评论 -
Spring微服务实战学习笔记
GitHub源码出版社源码1.5 使用Spring Boot来构建微服务启动服务命令mvn spring-boot:run1.9 微服务不只是编写代码编写健壮的服务需要考虑的几个主题(见图1-7v )P141.9.6 微服务构建和部署模式微服务架构的核心原则之一是,微服务的每个实例都应该和其他所有实例相同。通过创建包含微服务的Docker镜...原创 2018-07-30 17:05:21 · 1263 阅读 · 2 评论 -
QuartzManager 定时器管理
QuartzManager 定时器管理转载 2017-08-15 19:46:27 · 6648 阅读 · 0 评论 -
Spring请求乱码
Spring请求乱码转载 2016-10-20 20:28:16 · 381 阅读 · 0 评论 -
Spring返回图片
Spring返回图片转载 2016-10-25 16:46:48 · 1055 阅读 · 0 评论 -
Spring4下载f.txt文件解决方法
spring f.txt原创 2016-09-27 22:28:41 · 2991 阅读 · 0 评论 -
IntelliJ IDEA 配置Jetty
idea jetty原创 2015-03-29 19:27:11 · 54822 阅读 · 2 评论 -
Java资料收集
搜索引擎选择: Elasticsearch与Solr http://www.cnblogs.com/chowmin/articles/4629220.html原创 2016-08-09 15:41:10 · 375 阅读 · 0 评论 -
spring4+mybatis3+velocity+mysql+gradle
spring4+mybatis3+velocity+mysql+gradle原创 2016-08-29 12:55:54 · 1896 阅读 · 0 评论 -
Android代码生成器设计文档
Android代码生成器原创 2016-03-25 21:49:48 · 1642 阅读 · 0 评论 -
Java获取完整URL
转自:http://blog.csdn.net/shiyuezhong/article/details/8448674String url = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + request.getServletPath();转载 2014-03-11 15:37:57 · 1086 阅读 · 0 评论 -
Java/Android 多少年月日时分秒前
参考资料:http://alexfc.iteye.com/blog/363185http://biancheng.dnbcw.info/java/99937.html SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date now =原创 2015-09-15 15:02:52 · 939 阅读 · 0 评论 -
开源图片详细信息提取metadata-extractor
网站:https://drewnoakes.com/code/exif/GitHub:https://github.com/drewnoakes/metadata-extractor/参考网站:http://www.programgo.com/article/10671752428/使用版本: com.drewnoakes metadata-extractor 2.8原创 2015-05-18 22:40:56 · 11254 阅读 · 7 评论 -
Intellij Idea说明
svn 需要安装 SlikSvn使用说明:http://totohust.iteye.com/blog/1035550 [^]SVN 管理把SVN库添加到IDEA中 SETTING -> VERSION CONTROL -> VCS = SVBVERSIONIDEA编码设置3步曲FILE -> SETTINGS -> FILE ENCODINGS -> IDE ENCO原创 2014-09-18 12:51:23 · 3911 阅读 · 0 评论 -
Spring Cloud入门之一、Config
拷贝规则在第一次出现时会标有说明,后续相同规则不会特殊说明。全部源码地址spring-cloud-configconfig-service 配置信息服务复制必备1. pom.xml标有“必须”的都有添加Spring Cloud 发行版,保证spring依赖版本的兼容性Spring Cloud Config开始2. 必须配置的资源文件bo...原创 2018-07-30 17:07:32 · 165 阅读 · 0 评论 -
Spring Cloud入门之二、服务发现
全部源码地址eureka-service 服务注册/发现中心官方参考文档复制必备pom.xmlapplication.ymlEurekaServiceApplication.java中@EnableEurekaServerairport-service 机场服务(通过Spring Eureka注册服务)复制必备pom.xmlapplicati...原创 2018-07-30 17:08:55 · 172 阅读 · 0 评论 -
Actor模型学习笔记
Akka基于Actor模型构建的高并发微服务框架Lagom原创 2019-06-07 21:11:45 · 384 阅读 · 0 评论 -
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 · 6128 阅读 · 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 · 5196 阅读 · 0 评论 -
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 · 12419 阅读 · 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 · 8417 阅读 · 8 评论 -
微服务事务入门
理论CAP 定律,最终一致性Base 理论基于XA协议的两阶段提交FLP(FLP Impossibility Result 不可能性) :在异步通信场景,即使只有一个进程失败,也没有任何算法能保证非失败进程达到一致性!共识算法事务传播机制事务隔离性解决方案XA重量级基于可靠消息的最终一致性方案TCCSaga注意事项基本上,每个人刚开始建立一个分布式系统时,都...原创 2019-04-16 22:58:20 · 186 阅读 · 0 评论 -
《图解Java多线程设计模式》学习笔记
【日】结城浩 著侯振龙 杨文轩 译源码地址点击”随书下载“第1章 Single Threaded Excution 模式 ——通过这座桥的只有一个人java.util.concurrent.Semaphore (计数信号量)P53使用场景确保某个区域”最多只能由N个线程“执行。注意事项semaphore的acquire方法和release方法必须成对调用示例impo...原创 2019-03-16 22:17:58 · 497 阅读 · 0 评论 -
Idea启动Spring Boot很慢终于解决了
同事win10启动Spring Boot工程只要3秒左右,我的启动要30秒。开始以为是CPU差距太大,后来才觉得不是这样!解决方案hostname命令查看自己的 hostname$ hostname返回类似如下信息aoedeMacBook-Pro.local修改host文件sudo vim /etc/hosts修改条目如下,注意分隔符是TAB!不是空格127.0.0...原创 2018-12-04 11:07:09 · 34390 阅读 · 41 评论 -
id生成器
UidGenerator百度开源UidGenerator是Java实现的, 基于Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于docker等虚拟化环境下实例自动重启、漂移等场景。 在实现上, UidGenerator通过借用未来时间来解决sequence天然存在的并发限制; 采用RingBuf...原创 2018-09-22 14:37:15 · 2809 阅读 · 0 评论 -
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》学习笔记
2.2 运行时数据区原创 2018-09-04 10:02:18 · 757 阅读 · 0 评论 -
Nexus3.8.0上传jar包
原文地址1 本地maven/conf/settings.xml中配置认证信息,节点下添加以下节点;用户名密码与登录nexus的相同,默认admin admin123<server> <id>nexus-3rdParty</id> <username>admin</username> &...转载 2018-07-30 17:25:02 · 390 阅读 · 0 评论 -
Mysql + Spring事务资料整理
Mysql查看存储引擎可提供的引擎列表show engines;当前默认存储引擎show variables like ‘%storage_engine%’;查看某个表用了什么引擎show create table 表名;查看及设置事物隔离级别SELECT @@tx_isolation级别说明 事务隔离级别 脏读 ...原创 2018-07-30 17:19:56 · 156 阅读 · 0 评论 -
Java学习笔记
2013-03-05搜索“多线程 设计模式”结果:http://caipeng.iteye.com/blog/411155 介绍线程的优缺点搜索“开闭原则”结果:http://baike.baidu.com/view/866233.htmhttp://baike.baidu.com/view/1638361.htmhttp://baike.baidu.com/原创 2013-03-05 22:14:14 · 698 阅读 · 0 评论 -
iText学习资料
1、IBM开发者论坛资料:从 Java 应用程序动态生成 PDF 文件一个简化了 PDF 创建过程的开源库 iText 的分步指南http://www.ibm.com/developerworks/cn/opensource/os-javapdf/2、解决中文输入:下载最新的itext-asian.jar,下载地址:http://sourceforge.net/原创 2013-04-28 15:50:04 · 830 阅读 · 0 评论 -
System.out.println(5.00 - 4.90);结果分析
参考资料:http://www.iteye.com/problems/27059http://hxraid.iteye.com/blog/504293输出结果:0.09999999999999964原因:整数永远可以用二进制精确表示 ,但小数就不一定了。小数的二进制表示有时是不可能精确的。其实道理很简单,十进制系统中能不能准确表示出1/3呢?同样二进制系原创 2013-02-05 15:59:14 · 2080 阅读 · 0 评论