
JavaSE
文章平均质量分 50
EEEEEEcho
这个作者很懒,什么都没留下…
展开
-
Java通过流处理和 Collectors.toMap 得到的Map是浅拷贝
执行完操作之后,列表中元素的publicStatus属性和Map中元素的publicStatus属性的值都发生了改变。其实从图中就可以看出Map中第一个元素的地址和原列表中第一个元素的地址是相同的,所以做的是浅拷贝。原创 2024-12-11 21:55:01 · 282 阅读 · 0 评论 -
Java并发编程 -- 一、进程和线程
一、进程与线程1.进程与线程1.1 进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等)1.2 线程一原创 2021-11-01 14:55:06 · 373 阅读 · 0 评论 -
ubuntu配置java环境变量
sudo vim /etc/profileexport JAVA_HOME=/usr/local/java/jdk1.8.0_141export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}sudo sour原创 2021-08-06 11:22:24 · 1879 阅读 · 0 评论 -
Centos7上编译GmSSL,并使用其Java接口
1.编译GmSSL将下载的包解压后,在GmSSL-master根目录执行:./configmakesudo make install如果未执行完成上述步骤,可以参考我另一篇博客中的排错方法https://blog.youkuaiyun.com/EEEEEEcho/article/details/113199686执行完之后运行gmssl,报错.。然后将/usr/local/lib64中的几个文件复制到/usr/lib64下再次运行成功。2. 编译java运行时需要的库进入到GmSSL的安装原创 2021-01-28 15:03:54 · 869 阅读 · 0 评论 -
Ubuntu20上编译Gmssl库并使用Java调用其提供的Java Wapper API接口
1.Gmssl库的安装因为我的ubuntu版本是ubuntu20,所以安装GCC时需要这样安装。拥有 sudo 权限用户身份或者 root 身份运行下面的命令:sudo apt updatesudo apt install build-essential这里提醒一下,执行这个update命令的时候,由于apt源的问题,会等很长一段时间。但是,千万不要更换源,千万不要更换源,千万不要更换源。别问为什么。然后安装build-essential时,也会等很长时间,但是不要换源。然后装好之后,使用g原创 2021-01-26 22:23:42 · 1471 阅读 · 0 评论 -
Java中的file.delete()方法无法删除文件
File mergefile = new File(mergeResult);mergefile.delete();如果出现了调用delete()方法也没有把文件删掉,那就好好检查一下你的代码里面是不是某个引用了该文件的流还没有关。。/dog原创 2021-01-09 14:31:20 · 750 阅读 · 0 评论 -
Java代理设计模式
class RealObject implements Interface{ //被代理对象 @Override public void doSomething() { System.out.println("Do something"); } @Override public void somethingElse(String str) { System.out.println("Something else " + str原创 2020-10-07 16:20:26 · 196 阅读 · 0 评论 -
解决Maven插件无法下载Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5
首先检查一下你的IDEA中Maven的配置是否一致。如果这里没有问题,那多半就是仓库镜像的问题了,这里提供多个镜像,添加到maven的配置文件里即可。<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that ma原创 2020-10-03 14:27:17 · 1449 阅读 · 0 评论 -
IDEA将程序打包为Jar包,并在linux上运行
首先打开你的项目,然后找到File -> ProjectStructure然后注意这里的META-INF/MANIFEST.MF一定要填到src这里,而不是默认的到main/java,否则无法加载主类。然后点击Apply OK之后再项目中找到Build -> Build Artifacts点击确定选择build之后就可以在out文件夹下找到你打包好的项目。然后将打包好的项目传到linux操作系统下,在命令行执行java -jar xxxx.jar (即你的项目名).原创 2020-07-30 18:20:06 · 3140 阅读 · 0 评论 -
Linux/Ubuntu上使用JDK1.8配置JavaFx
今天接到了一个工作,使用JavaFx进行界面化开发。但是呢这个程序在我的Ubuntu上就是跑不通,老是找不到javafx这个包。费了一番周折之后才解决了问题。首先如果你的项目是maven开发的,那么请配置好你的maven注意Maven home 以及配置文件和仓库的位置。然后在importing选项卡中正确配置你的JDK for importer正确配置编译器这里的Project bytecode version要正确设置为8正确配置项目JDK版本在File -> Project原创 2020-07-28 19:06:48 · 2741 阅读 · 7 评论 -
Java中含有多层继承关系的构造方法的调用顺序
基础不牢,地动山摇。最近在看《Java编程思想》回顾JavaSE中的重点知识。会一直整理下来。接下来就要说一个含有多层继承关系的对象的构造方法调用顺序是什么样的。父类的构造方法总是在子类的构造方法中被调用,而且按照继承层次逐渐向上链接,来使得每个父类的构造方法都能得到调用。实际是向上链接到最顶层的父类之后开始调用。子类只能访问自己的成员,不能访问父类中的成员(父类中的成员一般都是private类型),只有父类才有合适的权限对自己的元素进行初始化,因此,必须让每个构造方法都能够得到调用,否则的话无法创建完整原创 2020-07-04 15:11:37 · 1037 阅读 · 0 评论 -
Java中的final关键字
长时间不用就忘掉了。再复习一下。final数据对于基本数据类型,final使数值恒定不变。一个既是static又是final的属性只占据一段不可改变的存储空间。对于对象引用,final使引用恒定不变,无法将其指向另一个对象,但是所指向的对象自身是可以改变的。final参数在参数列表中以声明的方式将参数指明为final,意味着无法在方法中更改参数引用所指向的对象。final方法父类中final修饰的方法,在被继承之后无法被修改。final类将某个类定义为final时,该类无法被继承。..原创 2020-07-02 21:44:24 · 107 阅读 · 0 评论