V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  codingmiao  ›  全部回复第 1 页 / 共 2 页
回复总数  35
1  2  
话说有没有可能做个蜜罐,然后在对面连蜜罐 SSH 端口的时候产生大量无用日志或者让对方主动下载文件之类的把对面撑死?
21 天前
回复了 tairan2006 创建的主题 Java 支持虚拟线程的 TCP 服务框架?
虽然 netty 不会去全盘的换虚拟线程,但是 EventLoopGroup 可以自定义一个 ThreadFactory 在里面起虚拟线程,然后 channelRead0 里面如果有耗时操作也起一个虚拟线程去搞就行了,我是这么干的:
https://github.com/codingmiao/hppt/blob/main/run/src/main/java/org/wowtools/hppt/common/util/NettyObjectBuilder.java

然后我觉得虚拟线程整个体系还在起步阶段,比如 WebFlux 对比虚拟线程加持的 springboot 还是有一点点性能优势的,虚拟线程对比现有的响应式写法最大的优势是在性能没有拉下太多的前提下大幅降低了开发难度。jdk 官方也说了会逐步干掉响应式编程,或许到下一个 LTS 版本,netty 看环境成熟了也会走虚拟线程的。
22 天前
回复了 LiJavaT 创建的主题 数据库 Mysql 和 Clickhouse 使用
话说为什么你们简称 ck 不是 ch
23 天前
回复了 Joker123456789 创建的主题 Java 其实,我更喜欢写 SQL
简单的 crud 丢给 orm 框架很省事,复杂一点的查询本来就要和负责数据的同事去沟通、验证、调整,得到一个符合业务要求的 sql ,这时候再把 sql 翻译回 orm 框架的代码属实没必要
啊,这么天选之人的么,直接注册完就开出 arm 的机器了,选的哪个区
42 天前
回复了 gotheway 创建的主题 Java 求一个技术架构
@mikasa1024 哈哈,我也不是地理测绘专业的,我的第一任领导是搞 GIS 的,丢了本 arcgis js 的教程给我啃的,然后发现 arcgis 服务端一些不能满足需求的地方找开源方案去实现。所以按我的经验来看,你可以找一本专业的 gis 方面的前端框架的书来看,具体什么框架根据你们公司的技术栈来确定,现在主流的有 arcgis-js 、mapbox-gl-js 、openlayer 、leaflet 等等,通过学习框架了解下 gis 大概能做什么事情,然后去看看做这些事涉及到的技术栈去深入学习吧。
44 天前
回复了 gotheway 创建的主题 Java 求一个技术架构
@gotheway GIS 项目而且是 java 体系的话,我推荐 postgis 做为数据库、jts 做为后端空间计算框架,其它就是传统的 web 框架了,springboot 全家桶什么的,以及基于 springboot 体系做的 ruoyi 等。

另外数据量大的话,极度不推荐去用 geoserver ,虽然是 java 体系而且功能很全,但一板一眼的去按 OGC 标准来做实现,性能极差。基于 jt 或者 geotools 等去开发需要的功能,轻量化、定制化的去做比用 geoserver 舒服很多。我搞了一些基于 jts 的小工具出来,但比较懒没去好好写文档 https://github.com/codingmiao/giscat
商人不就这样么,gpt 面向用户的时候,月付制更赚所以 GPT4 包月,给第三方 API 调用的时候他敢给月付么,又变成按量计费了。

说起这个,想起来国服魔兽世界的点卡了,年轻时有时间整天整夜的玩盼着出月卡,年纪大了没时间玩了,嘿嘿月卡来了点卡取消,当时网易也不当人,大大方方承认点卡运维成本高,再卖一波情怀,大家也能谅解,偏偏要搞什么张栋出来嘲讽玩家,搞一堆水军洗地,是真的蠢。
其实 java 或者其它编译后的语言也并不安全,现在所谓的 jar 包保密方案,也只是给文件加个密,然后 Java Agent 启动时解密,但是随便丢个 arthas 之类的工具上去,从内存中拿字节码反编译出来根本防不住。

所以哪有什么绝对安全的方案,只要你的软件价值小于别人攻破你的成本就行了
132 天前
回复了 karottc 创建的主题 Java 分享一个 Springboot + GraalVM 对反射的处理方式
我是 java -agentlib:native-image-agent=config-output-dir=META-INF/native-image -jar xxx.jar 先跑起 jar 包来,然后跑测试用例,测完后 reflect-config.json 这些也自动生成出来了,优点是不用去动原来的代码,缺点是测试用例覆盖不全的话可能会出问题。
所以现在把数据库丢容器里是否合适有定论了么,会损失百分之几的性能
博客园的博客质量很高,但是在博客园码博客真的难受啊,别的地方都可以直接屏幕截图然后 ctrl+v 贴进去,博客园还要先上传图片再引入图片,文本编辑器也感觉是十多年前的风格,有没有插件可以优化一些写博的体验啊?
145 天前
回复了 HOMO114514 创建的主题 程序员 分享一些 500 强信创数据库的有趣故事吧
@HOMO114514 这顿操作没看明白,为了遵守 GPL 开源,但是所谓自主可控后为什么就不需要遵守 GPL 了?那别人用的过程中发现他基于 GPL 的代码痕迹,那他不完蛋了。。
148 天前
回复了 javak 创建的主题 Java Java hello world 确实就要占用 30M
实验 1 、直接原生 java -jar 跑
我 win10 占内存 36m ,同事的 mac(arm 架构)只有 19m ,win10 简单加几个参数能压到 20 多 m
java -Xmx5m -Xms1m -XX:MaxMetaspaceSize=1m -XX:+UseSerialGC -XX:CompressedClassSpaceSize=1m -Xss512k -Xint -jar nativedemo-1.0-SNAPSHOT.jar
然后拉一下内存使用情况:
Memory used total max usage GC
heap 22M 252M 3986M 0.57% gc.g1_young_generation.count 2
g1_eden_space 4M 62M -1 6.45% gc.g1_young_generation.time(ms) 14
g1_old_gen 12M 184M 3986M 0.32% gc.g1_concurrent_gc.count 0
g1_survivor_space 6M 6M -1 100.00% gc.g1_concurrent_gc.time(ms) 0
nonheap 28M 31M -1 90.20% gc.g1_old_generation.count 0
codeheap_'non-nmethods' 1M 2M 5M 26.09% gc.g1_old_generation.time(ms) 0
metaspace 19M 20M -1 98.64%
codeheap_'profiled_nmethods' 3M 3M 117M 3.27%
compressed_class_space 2M 2M 1024M 0.22%
codeheap_'non-profiled_nmethods' 838K 2496K 120028K 0.70%
mapped 0K 0K - 0.00%
direct 4M 4M - 100.00%
mapped - 'non-volatile memory' 0K 0K - 0.00%

我拿 arthas 拉的,arthas 注入进来后内存有膨胀了一些,你看占用大头都在 metaspace 、codeheap 以及 old_gen 上,这 hello world 又没 new 啥对象,old_gen 肯定是一些 static 的对象了,这就说明了这些内存是基本消耗,不会随着你的应用增长。

实验 2 、native 打包
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>${native.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${mainClass}</mainClass>
</configuration>
</plugin>
</plugins>
</build>

这个打完在 x64 的 kali 下运行只占 8m ,在 arm 架构下还会更低。


在复杂场景下,实验 1 以及诸多大厂的生产环境都证明了 java 的稳定可靠,实验 2 则说明如果确实需要在物联网终端等内存极其苛刻的场景下使用,native 也能胜任。所以 Java 内存没救了?你要救什么?
开着 0 信任的时候,telnet localhost 3389 能通么,能的话试试这个方案,需要用的时候把 VPS 上的端口开一下,不需要关了应该没问题

"假设你家里有一台台式机(ssh 端口为 22),并且有一台公网 VPS 服务器(ip 111.222.33.44),你想在公司用笔记本登录家里的台式机,可按如下结构部署"

https://github.com/codingmiao/hppt?tab=readme-ov-file#%E7%A4%BA%E4%BE%8B2-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E9%80%9A%E8%BF%87%E5%85%AC%E7%BD%91%E8%BD%AC%E5%8F%91%E8%AE%BF%E9%97%AE%E6%97%A0%E5%85%AC%E7%BD%91ip%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8
182 天前
回复了 diagnostics 创建的主题 Java 有多少人还在用 Maven 构建项目?
用了 gradle 才知道 maven 的好。一次配置到处运行,gradle 是很灵活,但是别人用还得提心吊胆版本不兼容之类的问题,一个构建工具要花那么多心力去维护真的累。
要不是老板既要效率又要安全,谁会冒着风险干这事啊,玩不成任务立马滚蛋,走后门小概率滚蛋的区别。
@dasbn 我觉得 Mybatis Plus 作者喷得对,允许传 sql 片段在纯后端用带来很大的灵活性,而且自己可控传什么,总不能自己给自己传个注入语句。使用者自己非要把这个特性暴露给前端还不在执行前做校验( Mybatis Plus 本身也提供了 sql 注入检测的工具类),把刀子递给黑客还怪刀尖没做安全设计这不是纯纯巨婴行为。
183 天前
回复了 panlatent 创建的主题 分享创造 来推荐推荐自己的开源项目和经验吧
@adrianzhang 有点像 socat ,但机制上更像是 java 版的 frp ,复用一个端口来映射多个端口,而且留出来写代码实现自定义协议的口子,方便我这样写 java 的 crud boy (没有说 java 不好的意思,java 写 crud 确实很成熟^_^)根据业务和环境自己去通过 kafka 、文件、数据库之类的媒介来打通网络。
184 天前
回复了 panlatent 创建的主题 分享创造 来推荐推荐自己的开源项目和经验吧
[hppt]( https://github.com/codingmiao/hppt) 是一个可以通过任意网络媒介打通两台机器间 TCP 网络连接的工具


比如说,A 、B 两台机器不互通,但是 A 、B 都可以访问机器 C 上的 kafka ,那就可以用这个工具,通过 kafka 搭一个桥梁,使得 A 能访问 B 上任意的 TCP 端口。

起因是用户那边有台服务器只对外开了 80/443 端口,而且不能配 websocket 等长连接,我又不想老是飞现场解决问题,就写了个把 http 服务反转 tcp 的工具来远程运维,后来想想飞现场攒航空里程挺香的所以没用几天就关了。但发现这玩意挺有意思,就扩充了一下,变成可以支持任意协议的版本。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.