-
为何我建议1-3年的Java程序员仔细看看这篇文章
所属栏目:[优化] 日期:2019-08-24 热度:56
此文的目的是为了督促自己去不断学习,让自己有更明确的方向去提升自己。以技能树为基础,以面试要点为大纲,我觉得比抓住什么看什么要更有目的,更能坚持下去。世界瞬息万变,我们要时刻准备着、时刻提高着自己,才能使自己更具有竞争力。 一、Java技能树[详细]
-
你的也是我的。3例ko多线程,局部变量透传
所属栏目:[优化] 日期:2019-08-24 热度:148
java中的threadlocal,是绑定在线程上的。你在一个线程中set的值,在另外一个线程是拿不到的。如果在threadlocal的平行线程中,创建了新的子线程,那么这里面的值是无法传递、共享的(先想清楚为什么再往下看)。这就是透传问题。 值在线程之间的透传,你可[详细]
-
技术干货总结:分布式系统常见同步机制
所属栏目:[优化] 日期:2019-08-23 热度:81
布式系统为保证数据高可用,需要为数据保存多个副本,随之而来的问题是如何在不同副本间同步数据?不同的同步机制有不同的效果和代价,本文尝试对常见分布式组件的同步机制做一个小结。 常见机制 有一些常用的同步机制,对它们也有许多评价的维度,先看看大[详细]
-
来一个老生常谈的话题,JavaScript中,数组如何去重?
所属栏目:[优化] 日期:2019-08-23 热度:200
关于如何去除一个给定数组中的重复项,应该是 Javascript 面试中最常见的一个问题了,最常见的方式有三种:Set、Array.prototype.filter 以及 Array.prototype.reduce,对于只有简单数据的数组来讲,我最喜欢 Set,没别的,就是写起来简单。 constoriginal[详细]
-
作为运维还不会正则表达式?赶快看这篇学习一下
所属栏目:[优化] 日期:2019-08-23 热度:163
概述 正则表达式是很多运维薄弱的一项技能。大家很多时候都会觉得正则表达式难记、难学、难用,但不可否认的是正则表达式是一项很重要的技能,所有今天将学习和使用正则表达式时的关键点整理如下,仅供参考。 什么是正则表达式? 正则表达式(Regular Expres[详细]
-
Java 五大框架之间的对比
所属栏目:[优化] 日期:2019-08-23 热度:144
Spring 及其优点 大部分项目都少不了spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢? Spring是什么: Spring是一个轻量级的DI和AOP容器框架。 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是[详细]
-
微服务注册中心 Eureka 架构深入解读
所属栏目:[优化] 日期:2019-08-23 热度:194
微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心。随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的 Dubbo 和 Spring Cloud。 关于注册中心的解决方案,dubbo 支持了 Zookeeper、Redis、Multicast 和 Simp[详细]
-
你真的了解Python吗?单引号,双引号,三引号有什么区别?
所属栏目:[优化] 日期:2019-08-23 热度:128
写Python脚本时,使用引号定义字符串内容;在Python中,可以使用三种引号,分别是单引号,双引号,三引号等,这三种引号都用来定义字符串,那使用起来有什么区别吗? 先说一下单引号,双引号 单引号和双引号都都是用来定义一个字符串: 实际上单引号和双引号[详细]
-
Java设计模式、框架、架构、平台之间的关系
所属栏目:[优化] 日期:2019-08-23 热度:106
1、设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验。比如我要在代码中实现一个全局唯一的配[详细]
-
一文读懂MQ消息队列
所属栏目:[优化] 日期:2019-08-23 热度:88
MQ(消息队列)在软件架构中是经常被使用的,特别是在分布式系统中也是使用频率很高的组件。 以下从消息队列的使用场景、概念、常见问题及解决方案来详细讲解。 一、消息队列使用场景 1.1 常见的使用场景 系统解耦 在分布式环境下,系统间的相互依赖,最终会[详细]
-
汇总五大通用编程工具,作为程序员没用过3款以上的,都OUT了
所属栏目:[优化] 日期:2019-08-23 热度:89
作为程序员来说,做编程可谓是家常便饭了,俗话说得好:功夫再高,也要趁手的兵器!正如程序员做编程一样,今天给小伙伴推荐的是大部分程序员最常用的五大工具,作为资历程序员没用过3款以上的太有点被out的感觉! 1 Notepad++ 这款工具看上去是不是都很熟悉[详细]
-
为什么程序员的业余项目大多都死了?
所属栏目:[优化] 日期:2019-08-23 热度:62
我们都有这样的业余项目:项目创建一半就弃之于坟墓,未完成的梦想遗体就这样扔之于文件夹中。游戏、应用程序、可视化数据等等。现在所谓伟大的点子最后只能沦落为空气中卑贱的尘埃。 这是一个可悲的事实,因为业余项目原本应该成为一个传奇。在它们最辉煌[详细]
-
代码详解:用Pytorch训练快速神经网络的9个技巧
所属栏目:[优化] 日期:2019-08-20 热度:155
事实上,你的模型可能还停留在石器时代的水平。估计你还在用32位精度或*GASP(一般活动仿真语言)*训练,甚至可能只在单GPU上训练。如果市面上有99个加速指南,但你可能只看过1个?(没错,就是这样)。但这份终极指南,会一步步教你清除模型中所有的(GP模型)。[详细]
-
16个通用高效 Java 工具类总结
所属栏目:[优化] 日期:2019-08-20 热度:118
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流、s[详细]
-
JavaScript 的一些常用设计模式
所属栏目:[优化] 日期:2019-08-20 热度:149
设计模式是前人解决某个特定场景下对而总结出来的一些解决方案。可能刚开始接触编程还没有什么经验的时候,会感觉设计模式没那么好理解,这个也很正常。有些简单的设计模式我们有时候用到,不过没意识到也是存在的。 学习设计模式,可以让我们在处理问题的[详细]
-
粉丝关系链,10亿数据,如何设计?
所属栏目:[优化] 日期:2019-08-20 热度:170
继续答星球水友提问,大数据量,高并发量,好友关系链、粉丝关系链要如何设计? 什么是关系链业务? 关系链主要分为两类,弱好友关系与强好友关系,两类都有典型的互联网产品应用。 弱好友关系的建立,不需要双方彼此同意: 用户A关注用户B,不需要用户B同意[详细]
-
Python计算个人所得税
所属栏目:[优化] 日期:2019-08-17 热度:76
不知道大家有没有细心观察自己工资条上个人所得税呢?很多人都觉得有专门的个人所得税计算器,不用再去复查,但是有的黑心的公司专门利用这种心理,偶尔增加你的扣税额,为了方便大家核查自己的个人所得税,我用Python写了一个简单的个税计算器,大家可以核[详细]
-
看大牛是如何阅读JDK源码,涨涨见识
所属栏目:[优化] 日期:2019-08-17 热度:132
如何阅读源码,是每个程序员需要面临的一项挑战。 为什么需要阅读源码?从实用性的角度来看,主要有三个目的:第一,解决手头的新问题或者新需求;第二,真正理解一部分理论的落地实现;第三,应对面试。 端正心态 在准备投身到阅读源码的事业之前,首先需要[详细]
-
用Python设计一个请假模式
所属栏目:[优化] 日期:2019-08-17 热度:96
由于你没有用一些设计模式去优化你的代码,所以导致很多小伙伴只能把自己的代码重写。这次我们通过请假条来讲讲设计模式-职责模式 一、什么是职责模式 比如我们要请假,我们一般都是写个请假条,然后提交给系统!系统会自动根据你的请假的情况,找对应的主[详细]
-
Kubernetes身份认证和授权操作全攻略:K8s 访问控制入门
所属栏目:[优化] 日期:2019-08-17 热度:142
随着Kubernetes被广泛使用,成为业界公认的容器编排管理的标准框架,许多开发人员以及管理员对部署、弹性伸缩以及管理容器化应用程序等Kubernetes的关键概念都十分熟悉。而对于生产部署而言,Kubernetes的安全性至关重要。因此,了解平台如何管理用户和应[详细]
-
浅谈 Webpack 背后的运行机制
所属栏目:[优化] 日期:2019-08-17 热度:52
在平时开发中我们经常会用到 Webpack这个时下最流行的前端打包工具。它打包开发代码,输出能在各种浏览器运行的代码,提升了开发至发布过程的效率。 我们知道一份 Webpack配置文件主要包含入口( entry)、输出文件( output)、模式、加载器( Loader)、插件([详细]
-
Web框架的前生今世--从Servlet到Spring mvc到Spring boot
所属栏目:[优化] 日期:2019-08-17 热度:188
背景 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来。最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html、css等。 但是可以想象:根据用户请求的不同动态的处理并返回资源是理所当然必须的要[详细]
-
Java技术干货分享:浅谈订单号生成设计方案
所属栏目:[优化] 日期:2019-08-17 热度:165
最简单的方式 基于数据库 auto_increment_increment 来获取 ID。首先在数据库中创建一张 sequence 表,其中 seq_name 用以区分不同业务标识,从而实现支持多种业务场景下的自增 ID, current_value 为当前值, _increment 为步长,可支持分布式数据库的哈[详细]
-
深入理解Node.js 进程与线程(8000字长文彻底搞懂)
所属栏目:[优化] 日期:2019-08-17 热度:183
前言 进程与线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。本篇文章除了介绍概念,通过Node.js 的角度讲解进程与线程,并且讲解一些在项目中的实战的应用,让[详细]
-
程序员必备十款开发工具,会用的可以召唤神龙了!
所属栏目:[优化] 日期:2019-08-17 热度:122
Telegram Telegram Messenger 很好用的聊天应用 ,有价值的是学习它的开源的代码,不管用户体验还是编码都值得学习,公司创始人背景也很神秘。特点:1,简洁,那么臃肿的一定不是好的软件.2,多平台 3,半开源.软件开源,服务器闭源.可以打造自己的加密APP.4,贴[详细]