young1lin

young1lin

V2EX 第 509506 号会员,加入于 2020-09-24 14:16:26 +08:00
今日活跃度排名 7489
young1lin 最近回复了
17 小时 53 分钟前
回复了 yukong 创建的主题 酷工作 [杭州][内推]蚂蚁金服大数据部招技术开发了
在面其他阿里系的,会锁住流程吗?
1 天前
回复了 bigpigeon 创建的主题 Linux rocketmq 踩坑和吐槽
ons client[doge],用过加 tag 的 topic,不好用。
感觉你在刀尖上干活啊 [doge]
1 天前
回复了 howells 创建的主题 Java 求方案,自定义模版转 pdf。
我之前做过,两个方法,

一是渲染成 HTML,用 Enjoy 或者 Jasper 、Thymeleaf 之类的模板引擎,渲染出来 HTML 后,发到前端,然后插入到隐藏的 div 中,用对应的 jQuery 插件转成 PDF (我就是这么干的,注意样式)。

二是就是你说的 Word 转 PDF,不过这个还是要先渲染成 HTML,发到前端渲染,再转到后端把那些样式带上的那种。发到前端的目的是要可编辑,有些内容要手动编辑,不是生成的。数据库把渲染后的 HTML 保存对应的 Blob 。所以这个方式也用了。

我两年前做的是个考试的系统,各种打印基本都是我做的。。。这个我太熟了。
1 天前
回复了 dongguangming 创建的主题 问与答 何为 Java 高手?
什么架构师,专家,其实要会的挺多的,不过你中间件的内容学的多了。或者数据库方面的( MySQL,Redis,Hive,HBase 等等)学多了,你就会发现,大体上的内容都是差不多的。

还有什么常用的框架基本的内容啊,比如 Spring Bean 的生命周期,那些 aware 接口,postProcessor 之类的解析注解,Spring 的事件,AOP (其实就是 SmartInstation 这个开头的 postProcessor 拦截,然后再进行 advisor 增强) CGLIB 提升,IoC 容器是怎么解耦 Bean 的,Spring Boot 的自动装配啊,Spring Cloud 定义的抽象 DiscoveryClient 之类的。

例如 SQL 抽象语法树解析,explain 来优化 SQL,WAL ( Write-Ahead-Log == redo,undo ),在内存上更新数据( Buffer Pool,MemStore )然后再根据一定规则刷盘,高效在内存上查询的 Buffer Pool,BlockCache,还有怎样高效构建二级索引(也可以用 Elasticsearch 来做),增量还是全量备份( binlog 等)等等。

**架构师不一定要什么都精,但一定要大部分都懂个大概原理,有前瞻性**。

基本的单体,SOA,微服务演进。六边形架构,整洁架构(又名洋葱架构),CAP,BASE 等等基本的理论知识,还有 FEMA 方法。主从,主备,集群。Cluster,Shard,Partition,Region 等等这些名词。TPC 、PPC 、Reactor 、Proactor 这些。MVC 、MVP 架构,七种负载均衡策略。异地多活,Serverless (这个是下一代开发的方向),Cloud Foundry 平台之类要懂。云原生程序的十二要素,微服务的十一要点(服务发现,路由,容错等等)。进程内与进程间的共 6 种解耦方式。微服务的两种常见拆分方式,根据服务拆分,根据 DDD 来拆分。DDD 又有什么子域,核心域,通用域,支撑域,限界上下文,聚合,聚合根,实体,值对象,领域事件等等。

计算机原理之类的,虽然这个在大学里就学过了,CPU 时间片,进程挂起,上下文切换,管程等等,但是当时谁懂啊,还有什么 CPU 原理,寄存器,奔腾 8086,想到就头大。还有网络基础什么的,基本 Web 安全开启。

其实还有算法方面的,没办法,有些公司(比如字节)要你刷到 LeetCode medium,来考察你是不是“脑子灵活”。其实也有一定用处,比如快排在 MySQL 中就有体现,超过一定量级的查询结果,就用快排。还有限流算法,滑动窗口之类的,不过这些都由框架帮你搞定了。
1 天前
回复了 dongguangming 创建的主题 问与答 何为 Java 高手?
大多数情况下,人家只要你了解基本的 JVM 知识,其实只是要你看过《深入理解 Java 虚拟机》这本书就够了。

一般 JVM 内存结构(这部分一般是可以看哪里导致的 OOM,进而知道如何解决,比如我两年前接手的老项目经常报 PermGen OutOfMemoryError,就是因为 1.6,1.7 版本的 JDK 永久代分配的内存太少了);

一些基本的启动参数调优(关闭偏向锁,Xms 和 Xmx 根据机器大小,设置成 60%-75% 之间的相等的值,避免大量内存碎片产生等等)

垃圾回收算法(什么代用什么回收算法,为什么要这么用。例如大对象直接进入老年代,是因为 young 区采用的复制清除算法);

什么时候进行回收,是什么 GC ;

查看 dump 文件分析哪段 Java 程序导致内存一直占用很高或者频繁 Full GC 导致 CPU 使用率飙升(一般这个用开源的工具);

几种引用(像 ThreadLocal 里面就用到了 WeakReference );

会 javap -verbose 反编译查看具体 class 的虚拟机指令( invokespecial 之类的),这部分是 Class 文件结构那部分的(一般这个是用来装逼的,或者像 Hikari cp 一样说我这反编译后都比其他的少了几条指令呢,还不高效?);

使用基本 JDK 自带的工具,例如 jstack,jps,jconsole,jmap 等等(我就用过 jstack + top + ps aux 等命令找到具体使 CPU 飙升的堆栈信息,然后改那个 bug );

双亲委派机制(让你知道 ClassLoader 相关的内容,进而知道 static 变量在同一 ClassLoader 加载的时候才是唯一的,而不是 JVM 进程内唯一,后者说法不是特别严谨);

编译到执行过程(什么抽象语法树啊,注解什么时候加进来的之类的),还有编译到运行期间的各种优化( String 类型合并,锁消除,逃逸分析之类的);

理解了这些,差不多了我觉得,比如你在 debug 的时候,点那个 drop frame 就知道什么能跳回之前的方法了,因为 Java 的方法调用就是压栈(虚拟机栈)。

如果你还想了解更多,看《 Java 虚拟机规范》。

如果还不够,你再看看《自己动手写 Java 虚拟机》这个来装逼,你可以按照书上来写个,然后放到你自己的 Github 上,和面试官说,这是我写的 Java 虚拟机,关于 JVM 的还有什么要问的吗?

后面两本书,说实话我没看,没必要,最后的故事转自一个美团的面试的人的,那个美团的一个小组组长说看看人家,自己写了个虚拟机,真牛啊(窃喜,这本书没什么人了解)。
其实可以用静态博客网站,例如 Github Pages 或者 Gitee Pages 。然后用 Hexo 或者 docsify 来做,我推荐前者。没必要自己搞个服务器。
我只能说不推荐套路云,我用过套路云一年的,低配,新人用户。趟过坑,天天给你发企业高危漏洞修复,然后让你试用的短信。
@chendy 我觉得也可能说的是这个,看看《 Java 8 实战》就知道了。不过这是 Stream 相关的,不是 Lambda
2 天前
回复了 HY3 创建的主题 Apple 大家有没有遇到 macOS 菜单栏无法点击的情况?
一样碰到了,Touch Bar 点击 ok,两指手势滑出右侧的那些小控件也行。其他所有的复杂的手势全部不行了,我真的后悔更新到 Bug Sur,以前的软件有些用不了,偶尔玩个小游戏都是花屏的,我吐了。
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2936 人在线   最高记录 5298   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 08:22 · PVG 16:22 · LAX 00:22 · JFK 03:22
♥ Do have faith in what you're doing.