- 博客(62)
- 收藏
- 关注
原创 双检索单例模式
在同步块内部,再次检查 instance 是否为 null,这是为了确保只有一个线程进入同步块后创建实例。2.在 getInstance() 方法中,首先进行了一次非同步的检查,以避免不必要的同步开销。5.通过双重检查锁定,可以保证在多线程环境下只有一个实例被创建,并且在第一次获取实例时进行了同步操作,之后的获取实例操作不会再进入同步块,提高了性能。4.如果第二次检查也通过,即确认 instance 为 null,则创建实例并赋值给 instance 变量。
2024-03-29 14:53:56
621
原创 Picocli框架下的命令模式
Picocli是一个为Java应用程序构建命令行界面的库。它支持颜色输出、TAB补全和注解驱动。Picocli旨在使命令行参数的解析和验证变得简单快捷,同时提供强大的功能和灵活性,非常适合于实现命令模式。
2024-03-27 09:57:19
941
原创 深拷贝和浅拷贝
深拷贝是指创建一个新对象,然后递归地复制原对象的所有字段,包括引用类型字段指向的对象。这样,即使原对象中存在引用类型字段,新对象中也会有该字段的全新副本。浅拷贝是指创建一个新对象,然后将原对象的字段值复制到新对象中。但是,对于对象中的引用类型字段,浅拷贝只是复制了引用,而不是创建原对象中引用对象的副本。
2024-02-22 09:52:00
354
原创 Stream、Collections、Collectors用法
当涉及Java编程中的集合处理时,Stream、Collections和Collectors是三个常用的工具。这些工具提供了强大的集合处理功能,可以大大简化集合操作和数据处理的任务。选择使用哪种工具取决于具体的需求和问题场景。
2024-02-22 09:48:43
603
原创 函数式编程
操作后打印大写字母的单词,但是它并不会改变流的元素或产生新的流。API 中的一个中间操作,它用于将流的元素进行映射后,再将映射结果扁平化为一个新的流。的常见用法之一是用于处理嵌套的集合结构,例如一个列表中包含了多个子列表,而你希望将所有子列表的元素合并为一个扁平化的流。另一个常见的用例是将一个流中的元素进行分割后,再扁平化为一个新的流。API 中的一个强大操作,能够在映射操作的基础上展开嵌套的结构,从而创建更灵活的流处理管道。方法将嵌套的列表结构转换为一个扁平化的流,其中的元素为所有子列表中的元素。
2024-02-22 09:47:13
1047
原创 build.bat打包失败
com.sun.tools.javac.Main is not on the classpath.Perhaps JAVA_HOME does not point to the JDK.It is currently set to “C:\Program Files\Java\jre1.8.0_111” 解决办法:将C:\Program Files\Java\jdk1.8.0_111/lib中的tools.jar拷贝到C:\Program Files\Java\jre1.8.0_111/lib中即可。
2024-02-22 09:41:28
445
原创 VAE-BO思路整理
该研究将机器学习与传热学相结合,针对长链嵌段聚丙乙烯极值热导率链结构设计问题,使用低维全局优化算法,搜索效率会显著下降,并且传统降维算法的数据重构能力低下,不能有效结合贝叶斯优化进行搜索。针对该问题,研究了一种基于无监督学习的生成式模型,该模型能够学习到数据的分布从而能更好地生成新的数据。通过结合全局优化算法,在数量级为236的数据集合中,最终实现对长链嵌段聚丙乙烯极值热导率的快速搜索
2023-03-13 17:45:15
493
原创 Spring中的一些知识点
1.@RestController为开发提供了方便☺,在提供json接口时需要的配置操作再也不需要自己配置了。2.@RestController注解相当于@ResponseBody和@Controller的结合@ResponseBody与@Controller上面说到@RestController注解相当于@ResponseBody和@Controller的结合,那么在这里就大致介绍一下这两个注解的作用;
2023-03-13 16:35:40
203
原创 基于jwt和session的区别和优缺点
由于是无状态使用JWT,所有的数据都被放到JWT里,如果还要进行一些数据交换,那载荷会更大,经过编码之后导致jwt非常长,cookie的限制大小一般是4k,cookie很可能放不下,所以jwt一般放在local storage里面。一样的道理,要改变jwt的有效时间,就要签发新的jwt。例如你在payload中存储了一些信息,当信息需要更新时,则重新签发一个jwt,但是由于旧的jwt还没过期,拿着这个旧的jwt依旧可以登录,那登录后服务端从jwt中拿到的信息就是过时的。而由于jwt具有一次性的特性。
2023-03-13 16:29:38
208
原创 执行python-setup-py-install时报错error-Unable-to-find-vcvarsall-bat
执行python-setup-py-install时报错error-Unable-to-find-vcvarsall-bat
2023-03-08 09:30:47
228
原创 控制台输入python后报错
控制台输入python后报UnicodeDecodeError-gbk-codec-can-t-decode-byte-0x9a-in-position-198-illegal-multib错
2023-03-08 09:30:17
142
原创 前台项目下载依赖npm-ERR-code
前台项目下载依赖npm-ERR-code-ERESOLVE-npm-ERR-ERESOLVE-unable-to-resolve-dependency-tree-npm-ERR-npm-ERR
2023-03-08 09:26:18
86
原创 笔试题ACM模式中碰到的一些问题
程序直接退出,是因为nextInt读取第一行输入后,执行nextLine读取第二行的输入时,就直接结束了nextLine的输入。当前面一行出现了nextInt,后面紧接着用了nextLine在控制台输入了一串字符串的时候,会出现如下错误。...
2022-08-18 11:27:05
139
原创 前台项目下载依赖错误
启动前台项目时下载依赖出现版本不一致的情况,报错如下图解决方式:1.npm 版本的降级2.npm i --legacy-peer-deps
2022-03-18 10:33:06
157
原创 Linux常用命令
换源,更新1.sudo -s命令更换为root用户进入目录sudo -sUbuntu内安装桌面环境sudo apt-get install ubuntu-desktopsudo apt-get install unitysudo apt-get install compizconfig-settings-manager接着配置显示方式教程链接基础命令sudo -s命令更换为root用户cd /mnt/e 进入windows的E盘ls: 显示目录下所有文件及目录ls –al
2022-03-15 15:02:58
956
原创 MySQL性能优化总结
优化需要从多个维度进行优化其中包括四个:SQL语句及索引、表结构设计、系统配置、硬件配置。其中SQL语句相关的优化手段是最为重要的硬件配置硬件方面的优化可以有对磁盘进行扩容、将机械硬盘换为SSD 等等。但这个优化手段成本最高,见效也较小。系统配置系统选择系统通常使用Linux作为服务端的系统,本地开发的话可以随意。Linux 系统版本和 MySQL 版本选择稳定的版本即可。保证从内存读取MySQL 会在内存中保存一定的数据,通过 LRU(最近最少使用)算法将不常访问的数据保存在硬盘文件中
2022-03-14 19:41:22
1057
原创 API接口设计
Token 设计😗 Token 是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 Token 便将此 Token 返回给客户端,以后客户端只需带上这个 Token 前来请求数据即可,无需再次带上用户名和密码。😗 Token 的值一般用 UUID(算法比较著名的有雪花算法),当服务端接收到客户端请求后会生成 Token(一串字符,如 etye0fgkgk4ca2ttdsl0ae9a5dd77471fgf),然后将 Token 作为 key 将一些和 Token 关联的
2022-03-13 11:00:38
748
原创 nginx端口占用问题解决
在宝塔面板中启动nginx发现端口被占用解决办法:这种情况是由于nginx开机自启动造成的;输入命令 killall -9 nginx杀掉所有nginx的进程然后重启:service nginx restart
2022-03-12 14:58:01
3807
原创 synchronized 关键字用法
synchronized 关键字最主要的三种使用方式:1.修饰实例⽅法: 作⽤于当前对象实例加锁,进⼊同步代码前要获得当前对象实例的锁。synchronized void method() { //业务代码}2.修饰静态⽅法: 也就是给当前类加锁,会作⽤于类的所有对象实例 ,进⼊同步代码前要获得当前 class 的锁。因为静态成员不属于任何⼀个实例对象,是类成员( static 表明这是该类的⼀个静态资源,不管 new 了多少个对象,只有⼀份)。所以,如果⼀个线程 A 调⽤⼀个实例对象的⾮
2022-03-10 15:35:26
815
原创 关于HashMap和ConcurrentHashMap理解
1.HashMap和Hashtable区别1.线程是否安全:HashMap是非线程安全的,HashTable是线程安全的,因为HashTable内部的方法基本都经过Synchronized修饰(如果要保证线程安全就使用ConcurrentHashMap)2.效率:因为线程安全的问题, HashMap 要⽐ HashTable 效率⾼⼀点。另外, HashTable基本被淘汰,不要在代码中使⽤它。3.对Null key 和 Null value 的⽀持:HashMap 可以存储 null 的 key 和
2022-03-10 15:20:00
462
原创 Linux中运行sh命令出现/usr/bin/env: ‘bash\r’: No such file or directory解决方式及使用moltemplate遇到的坑
目的:使用moltemplate这个软件来生成lammps需要的data等文件遇到的问题及解决方式步骤:一、下载moltemplate安装包1.官网下载:http://www.moltemplate.org/2.git下载:选择一个文件下下右键git bash(前提是安装了git),git clonehttps://github.com/jewettaij/moltemplate.git二、python安装相关包(前提是已经安装python)推荐python3以上版本cmd切换到该文件夹,
2022-03-05 17:17:07
2161
4
原创 Moltemplate的使用
网站链接描述:LAMMPS是一个非常灵活和可定制的分子动力学引擎。Moltemplate是一个通用的跨平台基于文本的lamp分子构建器。Moltemplate旨在构建定制的粗粒度分子模型,但它也可以用于准备真实的全原子模拟。它支持ATB分子数据库,以及各种现有的力场和模型,包括:OPLS, AMBER (GAFF,GAFF2), DREIDING, COMPASS, LOPLS (2015), EFF, TraPPE (1998), MOLC, mW, ELBA (water), oxDNA2。然而,
2022-03-03 15:25:32
1985
原创 java线程
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的**join()**方法,直到线程A执行完毕后,才会继续执行线程B。因为子线程的休眠时间太长,因此主线程很有可能在子线程之前结束也就是输出结果是12,但是子线程用了**join()**函数,因此主线程必须等待子线程执行完毕才结束因此输出结果只能是21。**join()的作用是:“等待该线程终止”,这里需要理解的就是该线程是指的主线程等待子线程的终止。也就是在子线程调用了join..
2022-03-01 19:51:50
184
原创 控制台输入python后报UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x9a in position 198: illegal multib错
解决方法:可以 进入到该目录:Anaconda3\Lib\site-packages\pyreadline\lineeditor , history.py文件的第82行,修改如下: for line in open(filename, ‘r’,encoding=‘utf-8’): 在原有的open函数里 新增了一个参数选项encoding=‘utf-8’ 就可以解决了,该问题是由anaconda的bug造成的...
2022-02-28 21:29:10
413
原创 关于java异常处理
编译时能被发现的是必须加上try catch的异常,这些异常在编译时可以被发现,如果异常编译时不一定发生,如除以0异常,指针为空异常。JAVA异常是在java程序运行的时候遇到非正常的情况而创建的对,它封装了异常信息。java异常的根类为java.lang.Throwable,整个类有两个直接子类java.lang.Error和java.lang.Exception。-Error是程序本身无法恢复的严重错误,一般是虚拟机或者系统运行出现错误,和程序无关。Exception-则表示可以被程序捕获并处.
2022-02-28 11:07:04
118
原创 编程(笔记)——操作指南
mac快捷键操作command+shift+. 显示隐藏文件command+N 代码Generateoption+command+L 代码格式化option+command+G 根据路径查找文件远程连接mac 249174779 36SaHn远程控制域名:https://sunlogin.oray.com/share?shareid=650803116博客系统:sudo suhexo cleanhexo g 生成Hexo d 部署若报错 则ssh-add …/.ssh/id
2022-02-23 14:01:51
63
原创 Mongodb在docker中的配置及概念解析
Mongodb的安装1.首先拉取镜像docker pull mongo:latest本地没有该镜像的情况下可以使用该命令,也可以直接使用如下命令:2.然后创建和启动容器docker run -d --restart=always -p 27017:27017 --name mymongo -v /data/db:/data/db -d mongo如果报如下错误:则需要在docker中配置相关信息将要存入的目录包含进去可以使用docker ps命令查看当前正在运行的docker镜像
2022-02-07 16:05:19
1359
原创 Running Homebrew as root is extremely dangerous and no longer supported.
在使用homebrew安装ngnix的时候出现如下错误:解决方法:以root身份运行Homebrew非常危险,不再受支持。由于Homebrew不会删除安装权限,因此您将为所有构建脚本提供对系统的完全访问权限。把 sudo 去掉就好了。成功安装。...
2022-02-06 20:38:44
1086
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人