
正文
java代码的迁移 java代码迁移重新编译虚拟机
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
公司系统要从.net向java迁移,谁能告诉我具体应该怎么做,比如整个java系统架构的搭建,具体代码的迁移
这就是重新编一套系统了。
只是需求不变,处理逻辑不变,其他全变了。架构都不一样,具体代码不能是迁移,而是重新编写。
相关问答
Q1: 将JVM从JDK11迁移到JDK16的问题
java代码的迁移我们的后端网络服务运行在Java SE 11(JDK11)上。JDK11有很多现代化的功能java代码的迁移,得到java代码的迁移了Oracle和OpenJDK开发团队的长期支持,而且一直非常非常稳定,只有一个例外。内存尖峰管理。
我们有一个数据密集型的ETL进程,每天晚上运行。它从我们的数据科学团队的系统中把我们新计算出来的声誉分数加载到MongoDB集合中,以便于实时查询。一个Kubernetes实例对所有实例处理的工作进行排队,使ETL工作并行。我们的客户自然在同一时间安排了一些数据密集型的Reputation Score报告。这造成了内存激增,JDK11的垃圾收集器除了分配更多的内存外,无法处理。堆经常增长,超过了虚拟机上的可用内存,这导致Kubernetes回收排队的ELT作业的pod,这种数据损失随之而来。
Java SE 16(JDK16)默认启用了Z垃圾收集器(ZGC)。ZGC在根据需要释放内存方面做得更好,与应用程序并行工作,因此内存高峰得到了缓解。在JDK16下运行pod可以解决这个问题,我们的数据现在每天晚上都能成功加载。
现在我们已经看到了JDK16的强大功能,而且Java SE 17(JDK17)现在已经推出,并有一个长期的支持计划,我们决定将我们的代码库和构建系统迁移到JDK16,以利用它的许多好处。
JDK17,即下一个长期发布的JDK,已经发布。我们计划尽快迁移到JDK17。
下面是对我们在过渡期间遇到的问题的总结,以及未来升级的路径。
当时使用的框架
JDK11、Maven 3.6、Spring Boot 2.4.3、Groovy 2.5 和 3.7。
所需的框架版本
JDK16、Maven 3.8.1、Spring Boot 2.4.8、Groovy 当时不可用。
JDK 16 安装
操作系统
OpenJDK18 现在是 Homebrew 中的默认 OpenJDK。安装JDK16java代码的迁移:
brew install openjdk@16
OpenJDK 是 Ubuntu 中的默认 JDK,可能是预安装的。
sudo apt install openjdk-16-jdk openjdk-16-source
如果安装了多个 JDK(可能是因为当前工作已经安装了 openjdk-11),请使用 update-alternatives 管理 JDK 版本java代码的迁移:
原文:将JVM从JDK11迁移到JDK16的问题 - reputation
Q2: java代码如何迁移到安卓上?高分悬赏!!!!!!!!!!
最好的办法就是你新建一个android工程去开发,那样就不会使用到没有引入的jar包,而导致你现在的问题,如果你仍然要先开发java工程然后再复制过去,那么你把java代码复制过去后,把android里面缺少但是java开发已经用到的jar包在导进去就ok了
Q3: Java如何实现进程迁移
首先要明白你的需求,因为需求不同你所要实现的内容会有所不同。
我可以给你一个思路:
把你的操作原子化,比如说定义fun1(),fun2(),fun3()....
然后定义流程,比如说fun1-fun2-fun3-...
要记住,操作的原子化就是说没有原子函数的相互调用,比如说fun1()是原子,fun2()也是,那么fun1()调用fun2()的话就破怀了原子性。
这样,你可以通过socket传递这样的数据:
1.接下来到哪一步了?
2.相关参数
具体的java实现就要靠你自己了,我只是给你个思路。
Q4: JAVA实现文件转移
Java代码
/**
* // 从旧文件拷贝内容到新文件
* // 删除旧文件
* @param oldPath the path+name of old file
* @param newPath the path+name of new file
* @throws Exception
*/
private void transferFile(String oldPath String newPath) throws Exception {
int byteread = ;
File oldFile = new File(oldPath);
FileInputStream fin = null;
FileOutputStream fout = null;
try{
if(oldFile exists()){
fin = new FileInputStream(oldFile);
fout = new FileOutputStream(newPath);
byte[] buffer = new byte[ ];
while( (byteread = fin read(buffer)) != ){
logger debug( byteread== +byteread);
fout write(buffer byteread);
}
if(fin != null){
fin close();//如果流不关闭 则删除不java代码的迁移了旧文件
this delFile(oldFile);
}
}else{
throw new Exception( 需要转移java代码的迁移的文件不存在! );
}
}catch(Exception e){
e printStackTrace();
throw e;
}finally{
if(fin != null){
fin close();
}
}
}
/**
* 删除文件 只支持删除文件 不支持删除目录
* @param file
* @throws Exception
*/
private void delFile(File file) throws Exception {
if(!file exists()) {
throw new Exception( 文件 +file getName()+ 不存在 请确认! );
}
if(file isFile()){
if(file canWrite()){
file delete();
}else{
throw new Exception( 文件 +file getName()+ 只读 无法删除 请手动删除! );
}
}else{
throw new Exception( 文件 +file getName()+ 不是一个标准java代码的迁移的文件 有可能为目录 请确认! );
}
lishixinzhi/Article/program/Java/hx/201311/25584
关于java代码的迁移和java代码迁移重新编译虚拟机的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







