-
年薪200万,43岁被裁员!面对2019年全球裁员:3件事越早明白越好
所属栏目:[优化] 日期:2019-07-30 热度:161
最近在网上看到一则炒的特别火的新闻,43岁的Michael Wu,北大数学系本科,美国芝加哥大学计算机系硕士,是高科技芯片巨头公司C中国区负责大客户芯片销售的Director,在该公司工作了5年,年薪200万,今年3月被裁掉了。 和他一起被裁掉的,还有平行部门的另[详细]
-
灵魂拷问:Java对象的内存分配过程是如何保证线程安全的?
所属栏目:[优化] 日期:2019-07-30 热度:188
JVM内存结构,是很重要的知识,相信每一个静心准备过面试的程序员都可以清楚的把堆、栈、方法区等介绍的比较清楚。 上图,是一张在作者根据《Java虚拟机规范(Java SE 8)》中描述的JVM运行时内存区域结构画的。 很多人都知道Java对象是在堆内存中分配空间的[详细]
-
这5种可立即使用的Python框架,用户可根据实际需求使用任意框架
所属栏目:[优化] 日期:2019-07-30 热度:51
由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词。 到目前为止,几乎每个IT工程师和开发人员都必须了解Python的强度和功能。Python本身是一种编程语言,也许你已经掌握了这种令人惊叹的编程语言的一[详细]
-
只需一行代码完成多语言切换
所属栏目:[优化] 日期:2019-07-30 热度:61
背景 之前总是有开发者反馈我应用切换了语言,可是工具类获取的 string 却没有发生改变。其实这个问题很简单,你切换语言的 Context 只作用在了你的 Activity 上,并没有对你的 Application 做同样的操作,知道了这点,那么解决问题就很简单了,为了省事,[详细]
-
浅谈Java Web经典三层架构和MVC框架模式
所属栏目:[优化] 日期:2019-07-27 热度:80
一、MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的典范,最早为Trygve R[详细]
-
阿里平头哥开放最强RISC-V处理器:对ARM影响几何?
所属栏目:[优化] 日期:2019-07-27 热度:63
7月25日,阿里巴巴在上海举办了2019 阿里云峰会。在本次会议上,阿里巴巴详细介绍了阿里的All in Cloud战略,同时阿里旗下的平头哥半导体还发布了号称业界最强的高性能RISC-V处理器玄铁910,并宣布开放玄铁910 IP,降低高性能芯片的门槛,并加速应用。 最[详细]
-
吐血推荐 | 那些提升开发人员工作效率的在线工具
所属栏目:[优化] 日期:2019-07-27 热度:63
作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的。 Hollis偏爱使用在线工具,因为个人觉得这样比较方便。本文就总结了一下我常用的在线工具。欢迎纠正及补[详细]
-
资深程序员多年总结:解密Kafka吞吐量高的原因
所属栏目:[优化] 日期:2019-07-27 热度:59
众所周知kafka的吞吐量比一般的消息队列要高,号称the fastest,那他是如何做到的,让我们从以下几个方面分析一下原因。 生产者(写入数据) 生产者(producer)是负责向Kafka提交数据的,我们先分析这一部分。 Kafka会把收到的消息都写入到硬盘中,它绝对[详细]
-
如何进行高效的源码阅读:以Spring Cache扩展为例带你搞清楚
所属栏目:[优化] 日期:2019-07-27 热度:147
摘要 日常开发中,需要用到各种各样的框架来实现API、系统的构建。作为程序员,除了会使用框架还必须要了解框架工作的原理。这样可以便于我们排查问题,和自定义的扩展。那么如何去学习框架呢。通常我们通过阅读文档、查看源码,然后又很快忘记。始终不能[详细]
-
MIT 推出编程语言 ,从方程式和手写代码上解放工程师
所属栏目:[优化] 日期:2019-07-26 热度:65
本文转自雷锋网,如需转载请至雷锋网官网申请授权。 麻省理工学院的研究人员最近推出了一种新的概率编程语言 Gen,这种语言让研究人员在不需要处理方程式和手动编写高性能代码的情况下,编写应用人工智能技术的多个领域的模型和算法。软件科学家 Jesus Rod[详细]
-
一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理
所属栏目:[优化] 日期:2019-07-26 热度:179
引言 服务端问题排查(服务稳定性/基础设施异常/业务数据不符合预期等)对于开发而言是家常便饭,问题并不可怕,但是每天都要花大量时间去处理问题会很可怕;另一方面故障的快速解决至关重要。那么目前问题排查最大的障碍是什么呢?我们认为有几个原因导致:[详细]
-
Javascript之遍历数组方法
所属栏目:[优化] 日期:2019-07-26 热度:185
作为一个程序对于数组遍历大家都不是很陌生,再开发中我们也经常要处理数组。这里我们讨论下常用的数组遍历方法和区别。 1.第一种for循环 vararr=[1,2,3,4,5]; for(vari=0,iarr.length;i++){ console.log(for循环:+arr[i]);//打印出1,2,3,4,5 } 2.for ..i[详细]
-
Java类加载及对象创建过程详解
所属栏目:[优化] 日期:2019-07-25 热度:118
类加载过程 类加载的五个过程:加载、验证、准备、解析、初始化。 加载 在加载阶段,虚拟机主要完成三件事: 通过一个类的全限定名来获取定义此类的二进制字节流。 将这个字节流所代表的静态存储结构转化为方法区域的运行时数据结构。 在Java堆中生成一个[详细]
-
后端开发实践系列——Spring Boot项目模板
所属栏目:[优化] 日期:2019-07-25 热度:120
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为第0个迭代要做的事情。但是,当项目运行了一段时间之后再来反观,我总会发现一些不足的地方,要么测试分类没有分好,要么基本的[详细]
-
来,告诉你Node.js究竟是什么?
所属栏目:[优化] 日期:2019-07-25 热度:120
前言 如果你有一定的前端基础,比如 HTML、CSS、JavaScript、jQuery;那么,Node.js 能让你以最低的成本快速过渡成为一个全栈工程师(我称这个全栈为伪全栈,我认为的全栈也要精通数据库,不喜勿喷),从而触及后端和移动端的开发。当然,Node.js也不是万能的[详细]
-
Python之父考虑重构Python解释器
所属栏目:[优化] 日期:2019-07-25 热度:180
7月22日,Python之父Guido在Medium上发表了他的第一篇博文《PEG Parser》。 在该文中,Guido说他正在考虑使用PEG Parser代替现有的类LL(1) Parser(名为pgen),来重构Python解释器。原因是现在的 pgen 限制了Python语法的自由度,使得一些语法难以实现,[详细]
-
一篇文章彻底搞懂Base64编码原理
所属栏目:[优化] 日期:2019-07-24 热度:56
开始 在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理又了解多少?今天这篇文章带领大家了解一下Base64的底层实现。 Base64是什么东东呢? Base64编码是网络上常见的用于传输8bit字节数据的一种编码方式之一,所以可以依据概[详细]
-
前端有必要去学Node.js吗?
所属栏目:[优化] 日期:2019-07-24 热度:66
Node近两年已经成为前端知识栈必备技能之一。随便点开招聘网站找个岗位几乎都会要求会Node,更不用提一些高级岗位了。 可能你看过Node是什么,看过Node的文档,用Node写过一些小项目。但是你知道在一线互联网企业里,Node真正是怎么用的吗?是拿来做什么的?[详细]
-
Python基础必备知识:同步异步阻塞非阻塞
所属栏目:[优化] 日期:2019-07-24 热度:174
一、状态介绍 在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行[详细]
-
2019 年 7 月编程语言排行榜
所属栏目:[优化] 日期:2019-07-24 热度:142
7 月排名前十的分别是:Java, C, Python, C++, C#, Visual Basic .NET, JavaScript, PHP, SQL 和汇编语言。和上个月的不同之处主要是 C# 以微弱的优势超过了 Visual Basic .NET 的排名,再次进入 TOP 5,而宇宙语言 PHP 下滑到第八位。 Java 的地位依然稳[详细]
-
聊聊JavaScript中调用栈
所属栏目:[优化] 日期:2019-07-24 热度:156
1:基本概念 栈(stack):用来保存简单的数据字段。 堆(heap):用来保存栈中简单的数据字段对指针的引用。 队列:是一种先进先出的线性数据结构。 函数的调用的进栈和出栈的顺序,遵循 先进后出 的原则。 空间分配: 堆:一般由程序员释放,如果程序员不释[详细]
-
微软解释为什么Rust是系统编程的最佳选择
所属栏目:[优化] 日期:2019-07-24 热度:136
上周,MSRC(微软安全响应中心)透露出拥抱 Rust的打算,随后他们将这个话题扩展为一个系列,进一步阐述了使用安全的系统编程语言的的必要性,以及选择 Rust 的原因。 在该系列最新一篇文章中,MSRC 团队首席云开发倡导者 Ryan Levick 解释了为什么他们认[详细]
-
Java中的集合框架大总结
所属栏目:[优化] 日期:2019-07-23 热度:91
直接上图: 从上面的集合框架图可以看到:Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合;另一种是图(Map),存储键/值对映射。Collection接口又有两个子接口,List和Set,再下面是一些抽象类,最后是具体实现类,常用的有[详细]
-
如何在Windows上做Python开发?微软出了官方教程
所属栏目:[优化] 日期:2019-07-23 热度:115
在 Windows 上做 Python 开发太痛苦?微软最近发布了一系列官方教程,终于 教程地址:https://docs.microsoft.com/zh-cn/windows/python/ 这些教程将指导使用者如何设置开发环境、是否在原生 Windows 或 Windows Subsystem for Linux (WSL) 系统上安装自己[详细]
-
JavaScript 究竟是如何工作的?
所属栏目:[优化] 日期:2019-07-23 热度:156
前言 什么是 V8?JavaScript运行的背后发生了什么? 如果你是一个 JS 开发者或者是正在学习这门语言的学生,很大概率上你会遇到双字母词V8。在这篇文章中,我将会为你简述不同的 JS 引擎并深入探究 V8 引擎的工作机制。文章的第二部分涵盖了内存管理的概念,[详细]