V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  szq8014  ›  全部回复第 6 页 / 共 17 页
回复总数  328
1 ... 2  3  4  5  6  7  8  9  10  11 ... 17  
感觉很多人都理解错了, 依赖 [存储] 和 [加载] 是两回事。。

嵌套存储:
app
-- m1-v1
-- -- m3-v1
-- m2-v1
-- -- m1-v2
-- -- -- m3-v2
扁平存储
app
-- m1-v1
-- m1-v2
-- m2-v1
-- m3-v1
-- m3-v2

扁平存储显然是并不存在什么多版本共存的问题,而且比嵌套存储更节省那一点点存储空间的,也并不限制你打包只能加载一个模块的一个版本,有能力当然可以把 commons-lang3 的所有版本全打进 fat-jar 或 war 包里,只不过 java 的默认类加载制度的限制导致 maven 只能默认选一个它约定下的最合适的一个版本,这并不是扁平化的存储导致的。


想想如果 java 需要支持多版本 jar 包存在该如何改呢?
1. 改语法 import, 在包里面加上版本? 需要源码改动不太现实~
2. 把依赖关系带到运行时告诉类加载器,有一个类似 maven 的 pom.xml 的东西,告诉这个类依赖的版本。比如打包时直接把所有的 jar 重新打,在 META-INF 里面加上依赖描述。
3. 学 nodejs 弄目录嵌套

在 java 里面多版本共存还有许多问题,比如两个版本的同一个类在 jvm 看来是两个完全没关系的东西,假如一个接口返回这个类实例传再传给另一个接口时,虽然参数是需要这个类,传的也是,但是仅仅是因为不是同一个类加载器加载的,会报 class cast exception 的。

这是 java 的问题,不是扁平化包管理的问题。

所以大家别吐槽 maven 了,锅不在 maven~
emmm 竟然是 java 版块。。springMVC 天然支持 restful 为啥他们不会用……
我猜后台是 php
2020-01-02 12:37:37 +08:00
回复了 phli 创建的主题 Java JDK 为了兼容老版本 都是有哪些类比较臃肿复杂?
大多数接口不好用的话都会在新版本中重新实现,比如 URL,不好改的就像楼上说的那样,新写了一套接口。
不好用也不常用还过时的东西,基本上就准备扔掉了,比如 9 之后模块化借机拆出来许即将扔掉的模块,比如 CORBA,nashorn
2019-12-10 14:42:54 +08:00
回复了 tctc4869 创建的主题 Java 如何使用 eclipse 开发 Java web 的后端配合 vscode 开发前端?
IDEA EAP 版本不要钱
@billlee 我是和 kotlin 混用的时候去掉的 lombok
2019-11-28 17:21:29 +08:00
回复了 xuroid 创建的主题 Android 在 Java 中怎么转换 unsigned 类型的字节数据?
用 long 就可以了。哈哈哈哈哈哈
2019-11-22 09:41:43 +08:00
回复了 szq8014 创建的主题 Java IDEA 2019.2.* 卡顿的事
@zhenjiachen 我也发现了,觉得还是 java 更流畅一些
2019-11-21 18:27:19 +08:00
回复了 szq8014 创建的主题 Java IDEA 2019.2.* 卡顿的事
尴尬,贴错了图片地址了
![jvisualvm]( https://s2.ax1x.com/2019/11/21/MIDeL6.png)
2019-11-21 18:26:28 +08:00
回复了 szq8014 创建的主题 Java IDEA 2019.2.* 卡顿的事
@qiyuey
![jvisualvm]( https://imgchr.com/i/MIDeL6)

这截图里面的 idea 已经运行了两个小时了,只有 108 GC 用时 3.560s。可能也跟我现在使用程度轻有关,我只是在两个项目之前切换,写的 5 个模块的 kotlin 项目
2019-11-21 17:50:21 +08:00
回复了 szq8014 创建的主题 Java IDEA 2019.2.* 卡顿的事
@l8g
-Xms1400m
-Xmx1400m

其它的都是自带的原参数了。
我也觉得应该没啥优势,但是从 jvisualvm 里面的记录来看,GC 次数少多了。。
2019-11-14 17:20:35 +08:00
回复了 kafkaonsea 创建的主题 硬件 截止到 2019 年 9 月,能买到的 23/24 寸 4K 显示器汇总点评
@jhsunnyshine 兄弟,这显示器用得咋样?
目测会引来一堆 phper 喷你,一部分也会喷 java 然后劝你转 golang
2019-11-11 19:49:24 +08:00
回复了 ccqqbb 创建的主题 程序员 大佬们打字用五笔吗?
我用五笔,但是不是大佬
2019-11-08 17:13:36 +08:00
回复了 leiuu 创建的主题 程序员 maven 新手求救,如何正确利用 maven 私服 nexus 中的多个 repo?
仓库有类型的,有 proxy/hosted/group
public 那个就是一个组,里面可以配置多个 proxy 或 hosted.
你建一个 hosted 用于上传私有 jar 包,都加进 public 里面就可以统一通过 public 来访问了。


结贴,散花
2019-11-01 13:06:12 +08:00
回复了 vjnjc 创建的主题 Java 你们会觉得 maven 做构建比 gradle 更好用吗
自从新版 IDEA 对 maven 的支持变差以后觉得这两个好像用哪个都一样了。

HBase 是一个非常成熟且稳定的东西了,不过 HBase 做查询不是强项吧?
TiDB 只听过没用过。
2019-10-27 19:22:19 +08:00
回复了 xjn17858906105 创建的主题 Java Java 正则的一个问题
你遇到了著名的文件换行符问题。
\r\n 分别是把光标挪到行首与换行。
只写\r 就只是把兴标挪到了行首,输出的字符会覆盖原来的,用这个特性可以做控制台的基于字符的下载进度条。
按照标准来的话,只写 \n 效果应该是
12345
_____67890
这样的,不过不会这样的
2019-09-09 15:54:21 +08:00
回复了 szq8014 创建的主题 程序员 花生壳免费版解析出问题了,域名指向 127.0.0.2
@xdzhang 很多路由器都集成了花生壳的 DDNS,觉得方便就注册了用的。。就是用来访问一些家里的文件的,坏了就换一家,正好也在阿里云买了域名
2019-09-08 14:52:41 +08:00
回复了 jeffreyji666 创建的主题 程序员 私有云存储开发
非专业运维参与过 2P 的 ceph 集群的搭建提供块存储,然后老是有 osd 95% 卡住整个集群。。也没有多少精力去调优。。
2019-09-07 11:31:27 +08:00
回复了 yibin001 创建的主题 Java IDEA 2019.2.2 Settings->Maven 没有本地仓库
@chendy +1
1 ... 2  3  4  5  6  7  8  9  10  11 ... 17  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2953 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 09:07 · PVG 17:07 · LAX 02:07 · JFK 05:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.