- 博客(127)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 jvm参数
export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xmx5000M -Xms5000M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -Xss512k -XX:MaxDirectMemorySize=512m -XX:+UseG1GC -XX:ParallelGCThreads=4 -XX:CICompilerCount=3 -XX:ConcGCThreads=2 -XX:MaxGC
2023-03-12 20:28:09
211
原创 什么是私约、助记词和密码?
私钥是由字母和数字组成的64位长度的十六进制字符串。创建钱包后,输入密码即可导出私钥,一个账户只有一个私钥并且不能修改。通常一个钱包中私钥和公钥是成对出现的,有了私钥,可以通过一定的算法生成公钥,再通过公钥经过一定的算法生成地址,这个过程是不可逆的。在任意钱包上,通过导入私钥并设置一个新的密码就可以把之前的A钱包的资产导入B钱包。比如手机丢失,只需导入私钥就可以恢复资产。助记词的出现是由于私钥由64位字符串组成,不方便记录且容易抄错。为了方便用户记忆和记录,简化成12个单词组成的助记词,每个单词之间有一
2021-10-17 15:30:25
12549
原创 ES6 去重,剔重
/** * 根据数组中对象的id属性去重。 * 前后两个id属性相同的对象,去重后,第二个对象被忽略。 * * @param objArr 对象数组,对象必须有非空的id属性 * @returns 去重后对象数据 */unique(objArr) { const res = new Map(); return objArr.filter((objArr) => !res.has(objArr.id) && res.set(objArr.id, 1));}t
2021-09-27 11:22:35
413
原创 Word中,页眉-编辑页眉中,“链接到前一节页眉”呈灰色,不可点击?
解决方法:依次点击:页面布局-分隔符-分节符-下一页,然后在页眉-编辑页眉中,“链接到前一节页眉”,就可以点击了。点击它,使其呈取消状态。版本:Office2013
2021-09-15 19:55:49
11381
原创 MyBatis-Plus 使用 Wrapper 自定义SQL
MyBatis-Plus 版本要求需要mybatis-plus版本 >= 3.0.7用注解@Select("select * from some_entity ${ew.customSqlSegment}")List<SomeEntity> getAll(@Param(Constants.WRAPPER) Wrapper wrapper);以下用法无效,即不能传入多个Wrapper:@Select("select * from some_entity ${ew.customS
2021-05-26 19:50:27
1868
原创 flatten-maven-plugin 插件使用效果
从 Maven 3.5.0-beta-1 版本开始,Maven 就支持使用类似于 ${xxx.version} 这样的工件版本占位符来替待硬编码的版本号了。
2021-05-21 18:17:06
2127
原创 基于 SpringBoot、Velocity 发送 HTML 格式的邮件,带附件
SpringBoot 2.x 已经废除了spring-boot-starter-velocity组件,若想使用,必须单独添加依赖。Maven核心依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.2.RELEASE</
2021-04-26 21:06:49
297
原创 基于 SpringBoot、Thymeleaf 发送 HTML 格式的邮件,带附件
关键的Maven依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.2.RELEASE</version> </parent> <dependen
2021-04-26 20:41:43
415
原创 MySQL中已经有设计好的表了,导入EA,生产图,用于PPT演示等
环境及工具windows 10,64位Enterprise Architect 12 中文版(以下简称EA)MySQL 5.7准备软件下载并安装,没错,即使你是64位的操作系统,仍然只能安装32位的下列软件,否则EA链接数据库异常。VC_redist.x86.exe (下载地址)mysql-connector-odbc-8.0.23-win32.msi重要的事情说三遍:下载32位的、下载32位的、下载32位的。设置1、双击ODBC 数据源(32位)2、点击“添加”3、任选“
2021-04-02 13:51:55
772
原创 EA 设计表时,显示表、列的别名
环境及工具windows 10,64位Enterprise Architect 12 中文版(以下简称EA)显示别名使用EA设计数据库表结构时,如果仅展示英文字母拼写的表名和字段名,在使用PPT汇报时,非常不直观。如果一个表有几十个字段,加上是英文单词的拼接,观众根本看不懂。此时,就需要同时展示英文名称和中文别名。在EA中,设置步骤如下:工具-选项,图-行为-使用别名:选中“别名和名称”图-特性,图-外观:选中“使用可用的别名”最终的效果:不过遗憾的是,将表对应的图生产DDL
2021-04-02 13:29:16
2177
3
原创 Java 8 Function 例子
import org.apache.commons.codec.digest.DigestUtils;import org.junit.Assert;import org.junit.Test;import java.util.*;import java.util.function.Function;/** * 参考: * https://mkyong.com/java8/java-8-function-examples/ * https://www.javabrahman.com/ja
2021-03-19 17:02:50
227
原创 JavaEE开发中,分层领域模型规约
在使用O/RM框架时,通常将某个数据库表映射为某个Java类,将该表的某列映射为该Java类的某个属性。对此Java类,《阿里巴巴Java开发手册》里称之为DO(Data Object),即与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。也有资料称之为PO(Persistent Object)或Entity。但PO很容易让人和POJO(Plain Ordinary Java Object)混淆。在Web开发中,提交表单时表单里的信息项需要映射为Controller层某个方法参数里的Java类。
2021-03-19 14:11:15
317
1
原创 将数据库表记录生成树,存储树形结构
有一类数据在数据库表中是一行一行地存储的,一旦查询出来并展示到前端页面,就呈现出“树状”。例如某大公司的部门数据,可分为一级、二级、三级部门。数据建模和表结构对应的实体类。import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.ArrayList;import java.util.List;@Data@AllArgsConstructor@
2021-03-12 17:29:53
1884
原创 Git 比较 两个分支之间的“提交差异”
从master分支拷贝一个新分支,命名为fixBug。修改若干文件后,做了第一次提交,提交描述为:提交描述1。修改若干文件后,做了第二次提交,提交描述为:提交描述2。此刻,想看看有哪些提交是fixBug分支上有,而master分支上没有的:$ git log fixBug ^mastercommit 693f162e7b8f99ef9b15db4ff16c6f5870e5b7f9 (HEAD -> fixSSo)Author: zhangsan <zhangsan@xxx.com&g
2021-02-26 09:09:44
2469
原创 MySQL事务隔离级别
隔离级别脏读(Dirty Read)不可重复读(NonRepeatable Read)幻读(Phantom Read)Read uncommitted可能可能可能Read committed不可能可能可能Repeatable read不可能不可能可能Serializable不可能不可能不可能“Read uncommitted”和“Read committed”到底该如何翻译,MySQL 5.7 默认的事务隔离级别:mysql>...
2021-02-03 19:48:21
358
原创 AOP联盟接口
AOP,Aspect Oriented Programming,面向切面编程,作为一种新的软件开发思想,在软件开发领域越来越重要。如果没有一套统一的术语,或者说统一的接口,会影响开发人员之间的沟通协作。于是一群业内专家成立了AOP联盟,并制定了一套Java接口,但没有接口实现。...
2021-01-23 16:30:46
259
原创 Spring AOP(二)@within() 和 @target
如果多个类使用了多个注解,而且类之间有继承关系,那AOP效果就热闹了!以下图为例,Human类使用A1注解,Man类使用A2注解,Boy类没有显式使用注解。形象比喻@within() 和 @target的“作用域”有点像清朝的爵位和官位的“有效期”:@within() ,类似于爵位,是可以世袭的,老子跟着皇上出生入死,被分封的爵位儿子可以世袭,这叫封妻荫子。@target(),类似于官位,是不能世袭的,纨绔子弟,是不能让他做官的。@Before("@target(com.javatpoint
2021-01-21 20:58:48
1262
原创 Spring AOP(一)五种增强(Advice)
AOP术语都非常抽象,结合某些小例子就会形象、具体一些。连接点(Joinpoint)Spring仅支持方法的连接点,即仅能在方法调用前、方法调用后、方法抛出异常时及方法调用前后,这些程序执行点织入增强。黑客攻击系统需要找到突破口,从某种程度上来说,AOP也可以看成一个黑客(因为它要向目标类中嵌入额外的代码逻辑),而连接点就是AOP向目标类打入楔子的候选锚点。接口名:org.aspectj.lang.JoinPoint其中,最常用的是以下几个:getArgs()getTarget()get
2021-01-20 13:26:48
560
2
原创 SHA-256算法的种种
import com.google.common.hash.Hashing;import org.apache.commons.codec.digest.DigestUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.security.DigestInputStream;import java.security.MessageDigest;import java.s
2021-01-06 15:56:44
397
1
原创 再看不懂BitMap算法,我请你吃饭(五)
通过一个小故事认识布隆过滤器(Bloom Filter)某男生着几个朋友去KTV唱歌,他出示自己的身份证,KTV管理员根据身份证号“计算”出3个房间号,这伙人只能去这些房间,把灯都打开,开始K歌。(这里的“3”是假设,可能会调整)再有客人来,KTV管理员重复上述操作。每次“计算”出来的3个房间号,几乎不可能重复,言外之意,可能重复,只是几率极低。而且,每次计算的结果都一样。如果不幸,重复了,那也只能将就了。有个女士心急火燎地来寻找她男朋友,由于房间太多,得有数亿间,逐个去查看几乎不可能。KTV管理员向
2020-11-06 13:24:17
257
原创 再看不懂BitMap算法,我请你吃饭(四)
java.util.BitSet自定义的BitMapV1EWAHCompressedBitmapBitSet.set(…)BitMapV1.add(…)set(…)BitSet.get(…)BitMapV1.isExist(…)get(…)BitSet.clear(…)BitMapV1.clear(…)clear(…)
2020-10-16 13:47:39
728
1
原创 再看不懂BitMap算法,我请你吃饭(三)
用户信息的标签化《漫画:Bitmap算法 整合版》写的非常好,一定要拜读下。这里,我想把文中提到的“用户信息的标签化”这个需求用代码实现一下。系统维护一个标签字典表t_tag,可能有成百上千个标签,这里仅定义10个标签示意:idtag1男2女390后400后5程序员6学生7苹果8三星9小米10华为用户信息表t_user:iduser_name1小灰2小黄3小白
2020-10-14 15:45:36
310
1
原创 再看不懂BitMap算法,我请你吃饭(二)
java.util.BitSet其实,Java API中有类似的BitMap实现。为了方便理解,假设要完成如下的算法:将[0, M]之间的整数集合记为A在[0, M)范围内,随机生成X个整数,其集合记为B计算:A - B举例:在[0, 10)之间,随机生成了0, 9, 3这三个数,计算结果,即A - B等于1, 2, 4, 5, 6, 7, 8, 10import org.junit.Test;import java.util.BitSet;import java.util.Rando
2020-10-14 15:45:03
179
原创 再看不懂BitMap算法,我请你吃饭(一)
基础在Java语言中,一个int类型变量占用4Byte,即32Bit内存空间。提问:10亿个int类型变量,需要占用多少内存空间?回答:(10亿 * 4) ÷ (1024 * 1024 * 1024) ≈ 3.73G如果要对10亿个,不重复的,int值进行排序,将至少需要3.73G内存。还有更好的办法吗?BitMap算法登场。做个游戏画8个相邻的小正方形,表示1Byte,即8Bit,给它起个名字叫byte[0],在它的下方同样画8个小正方形,起名叫byte[1]。每个正方形内安装了一个灯泡,它
2020-10-14 13:23:41
250
原创 SpringBoot注解之ConfigurationProperties和ConditionalOnProperty
1、ConfigurationProperties配置文件及Java代码logging: level: org.springframework.web: ERROR com.mkyong: DEBUGemail: test@mkyong.comthread-pool: 10app: menus: - title: Home name: Home path: / - title: Login name: Login
2020-08-18 21:04:53
1587
原创 Scala 之 占位符(即下划线)语法二
需求已知某路径下有若干文件,返回文件名满足如下条件的文件列表:文件名以xxx结尾的文件名中包含xxx的文件名匹配某正则表达式的举例某路径下有如下文件:Some.javaSome2.scalaSome678Other.scalaSomeJdbcOther1.scalaSomeJdbcOther2.java输出满足“文件名以scala结尾”、“文件名包含Jdbc”、“文...
2020-04-20 13:31:37
435
原创 Scala之提取器,提取可变长度参数及正则表达式
1、需求给定一个字符串,如果它同时满足如下条件返回:满足,否则返回:不满足举例:输入:liudehua@gmail.com输出:liudehuagmail.com输入:liudehua gmail.com输出:无效的Email地址...
2020-04-09 13:52:01
392
原创 Scala之提取器入门
package com.jjk.extractors/** * Test.scala */object Test { def main(args: Array[String]) { println ("merge 方法 : " + merge("Zara", "gmail.com")); println ("unmerge 方法 : " + unmerge("Za...
2020-04-08 20:00:56
480
原创 比较DataFrame两列相等与不相等
import sparkSession.implicits._val innerDataFrame = 某个DataFrameval summuryAmountDiffDataFrame = innerDataFrame.filter($"summary_amount" =!= $"summary_amount2").filter($"summary_count" === $"summary...
2020-03-31 10:39:18
7251
原创 Scala 之 变长参数,或不定长参数
scala> def echo(args: String*) = | for (arg <- args) println(arg)echo: (args: String*)Unitscala> echo()scala> echo("one")onescala> echo("one", "two")onetwoscala> var...
2020-03-16 09:41:28
892
原创 Scala 之 占位符(即下划线)语法一
scala> val someNumbers = List(-11, -10, -5, 0, 5, 10)someNumbers: List[Int] = List(-11, -10, -5, 0, 5, 10)scala> someNumbers.filter((x: Int) => x > 0)res1: List[Int] = List(5, 10)// 等...
2020-03-16 09:13:35
331
原创 Scala的隐式转换
通过一个精巧的小例子就能深刻理解Scala的隐式转换。C:\Users>scala -versionScala code runner version 2.12.10scala> def plus(a:Int, b:Int) = {a + b}plus: (a: Int, b: Int)Intscala> plus(1, 3)res1: Int = 4上述代码...
2020-03-15 06:43:12
183
原创 Scala 之 重写字段
class Vehicle{ var speed:Int = 60}class Bike extends Vehicle{ var speed:Int = 100 //编译错误:variable 'speed' needs override modifier def show(){ println(speed) }}object MainObject{ def...
2020-03-09 18:27:32
340
原创 Scala 之 protected 修饰符
与Java不同,在Scala里protected的成员对于类所在包而言,是不可见的。// A.scalapackage com.jjk.protectedtestclass A { protected def m1() : Unit = { } private[protectedtest] def m2() : Unit = { }}// B.scalapacka...
2020-03-09 18:05:38
944
原创 Scala 之 类型检查与转换
ScalaJavaobj.isInstanceOf[Cl]obj instanceof Clobj.asInstanceOf[Cl](Cl)objclassOf[Cl]Cl.class
2020-03-09 18:02:11
223
原创 Scala 之 import的重命名和隐藏
选择性导入:import java.awt.{Color, Font}重命名:import java.util.{HashMap => JavaHashMap}import scala.collection.mutable._隐藏:import java.util.{HashMap => _, _}import scala.collection.mutable._...
2020-03-09 17:36:36
1886
原创 Scala 之 枚举
object Color extends Enumeration { // 自动赋值枚举成员 val Red, Green, Blue = Value /* * 相当于分别初始化: * val Red = Value * val Green = Value * val Blue = Value */ // 手动使用 Value(id: Int, name: ...
2020-03-09 17:33:43
192
原创 Scala 之 apply()
学习Scala之前,在JavaScript里常使用apply()方法。class Account private (val id: Int, initialBalance: Double) { private var balance = initialBalance}object Account { def newUniqueNumber(): Int = { // 随便...
2020-03-09 17:00:27
170
原创 Scala嵌套类
// Network.scalaimport scala.collection.mutable.ArrayBufferclass Network { class Member(val name: String) { val contacts = new ArrayBuffer[Member] } private val members = new ArrayBuffer...
2020-03-09 15:39:41
224
原创 Scala访问权限修饰符:private和private[this]
//Person.scalaclass Person(val name:String, var age:Int) { private var job = "Programmer" private[this] var salary = 3000F def changeJob(job: String) = this.job = job def increaseSalary(amou...
2020-03-09 14:17:43
656
Distributed Transaction Processing The XA Specification.pdf
2019-10-12
Java导出word时,能实现在word正文内“插入附件”的效果吗?
2014-05-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人