- 主题:Java农转写cpp发现,写Java比写cpp省心太多了
"现代CPU"
【 在 Bernstein 的大作中提到: 】
: 你说的是中断,不是异常
:
--
FROM 27.91.71.*
王垠所有贴有个共同点:“世界错我对”
【 在 hgoldfish 的大作中提到: 】
: yinwang 好像有谈过这个话题。
: 函数式编程对异常的处理也是老大难问题了。
:
--
FROM 27.91.71.*
CPU设计是紧盯软件的
如系统调用怎么写,SEH怎么写,线程切换怎么写,既要节省代码体积也要节省时钟周期
【 在 Bernstein 的大作中提到: 】
: cpu设计师们可没空考虑软件工程师那点事,不给你添麻烦那就谢天谢地了,最终还是搞出了幽灵之类的旁信道攻击
:
--
FROM 27.91.71.*
据我所见,catch Exception的都是视异常为眼中钉的C语言大牛啊。一个异常无异于天边飘来了一块二向箔,不要问我怎么知道的。
【 在 hgoldfish 的大作中提到: 】
: 可以是出了问题其实大家都不知道 :-)
: cpp 崩溃了 systemd 自动重启,服务掉线,满世界的人都知道。java 某个业务逻辑要是崩溃了,除非打日志。不然估计真的没人知道。
: 其实 python 也是一样,,前两天我们的工程师传了 python 代码 try except 了 Exception,被我臭批一顿。据我所知,catch (Exception) 在 java 社区是更常见的问题——不过 java 工程师一般会 e.printTraceback() 一下 IDE 不知道救了多少人的小命。
: ...................
--
FROM 27.91.71.*
Windows下是没有fork的API的,并且MS也不停的ban那些用ntapi自己搭一个fork的行为
现代OS的线程定义很清晰啊,是代表了“执行”这个基本资源
【 在 chaobill 的大作中提到: 】
: 现在对线程的理解又一塌糊涂了,以前对线程理解还比较清晰
: 1 开个自身进程,从不同参数再入,这最清晰
: 2 Fork 自己, linux 下效率很高, windows 慢死
: ...................
--
修改:xiaoju FROM 27.91.71.*
FROM 27.91.71.*
写C++的基本求生法则是熟读inside the C++ object model
不过理论上说,现代C++不必也不应该手动分配任何一个raw的资源。不如立条规则,破一次例罚款200块钱,请其他人吃东西。
【 在 vonNeumann 的大作中提到: 】
: 使用异常的 C++ 代码得把所有涉及到打开/关闭、获取/释放此类操作的代码都用 class 封装起来(所谓 RAII),在实际工程开发中挺麻烦。
: 而且,RAII 鼓励在构造函数中完成完整的初始化(与之相对的做法是在构造函数里基本不做什么事,真正的初始化由一个单独的 Init 函数来执行),这样就避免不了构造函数抛异常。
: 然而,只要允许了构造函数抛异常,那写代码就需要更小心了。举个例子,请问下面代码中,分别在以下几种情况下:
: ...................
--
FROM 155.64.23.*
必须用C接口啊,否则链接的时候麻烦就大了,奇怪的坑是无止境的
【 在 vonNeumann 的大作中提到: 】
: 使用第三方库的时候避免不了,很多库提供的是 C 风格的接口
:
--
FROM 27.91.71.*
自己用cpp写模块是没问题的,但想进官方分支门也没有
【 在 moudy 的大作中提到: 】
: 我是不是看错了啥,linux kernel和cpp有一毛钱关系么?
: :
--
FROM 27.91.71.*
我真见过这么搞的C++高手
其实从网上的C++11面试题来看,很多企业内部写的也是这种垃圾
【 在 refactoring 的大作中提到: 】
: 来一个请求就启动一个线程?你在开玩笑吗?一秒钟启动10万个线程?
--
FROM 27.91.71.*
全用阻塞IO的话,需要更多的线程啊,而且工作线程池和处理HTTP的线程池有不同策略,放一起不太好
【 在 oldwatch 的大作中提到: 】
: 能到业务层的早就已经是独立线程了
: 没机会阻塞真正的网络请求连接
: 最多影响用户体验
: ...................
--
FROM 27.91.71.*