-
Java实现线程安全的方式
所属栏目:[优化] 日期:2019-11-01 热度:173
多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1、使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能有一个线程在执行。 2、使用volatile关键字 volatile关键字用来修饰共享变[详细]
-
详解ETL工具十大必备的功能特性
所属栏目:[优化] 日期:2019-11-01 热度:175
概述 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行。 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用。今天主要先描述ETL工具的通用功能。 ETL工具的功能之一:连接 任何ETL工具[详细]
-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-10-31 热度:61
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-10-31 热度:177
副标题#e# 作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-10-31 热度:80
副标题#e# 可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-10-31 热度:166
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-10-31 热度:184
副标题#e# 概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-10-31 热度:138
副标题#e# 别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-10-31 热度:186
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
作为高级Java,你应该了解的Linux知识
所属栏目:[优化] 日期:2019-10-31 热度:147
副标题#e# Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F[详细]
-
来吧,说说你眼中的微服务
所属栏目:[优化] 日期:2019-10-31 热度:197
副标题#e# 微服务划分模式 虽然服务是逐步被拆分出来的,随着业务的演进,在某一时刻,可能需要我们重新审视服务划分得是否合理。本节向大家推荐两种服务划分的方法,首先介绍如何选择服务划分的方法。 基于业务复杂度选择服务划分方法 根据业务复杂度划分[详细]
-
线程、多线程和线程池,我终于把这些全部搞懂了
所属栏目:[优化] 日期:2019-10-31 热度:186
副标题#e# 1、开启线程的三种方式? 1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start(); 2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start(); 3)实现Callable接口MyCallable类,实现call()方法,[详细]
-
Java 中的四种引用
所属栏目:[优化] 日期:2019-10-28 热度:62
副标题#e# 之前我们提到过 GC,但当 Java 中引用的对象越来越多,会导致内存空间不足,最终会产生错误 OutOfMemoryError,并让应用程序终止。那为什么 GC 在此时不能多收集一些对象呢?这就和今天说的引用类型有关了。 首先,从 JDK1.2 开始,对象的引用被划[详细]
-
闲鱼上哪些商品抢手?Python 分析后告诉你
所属栏目:[优化] 日期:2019-10-28 热度:105
副标题#e# 1.目标场景 经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的 睡后收入。 闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。 本篇文章的目的[详细]
-
这个奇葩的语言,代码写完后连作者自己都看不懂了!
所属栏目:[优化] 日期:2019-10-28 热度:179
副标题#e# 周末的Hello World咖啡馆依然热闹非凡,Java,Python,Lisp等一伙人坐在一起谈笑风生。这时候Java注意到门口来了一个面色阴郁的老头儿,在咖啡馆门口徘徊着,似乎不愿意进来。 Java上去询问, 老头儿说他叫Forth,被主人设计成了一幅古怪的模样,[详细]
-
编程大神进阶之路:Python技巧小贴士
所属栏目:[优化] 日期:2019-10-28 热度:116
副标题#e# 介绍 Python 炫酷功能(例如,变量解包,偏函数,枚举可迭代对象等)的文章层出不穷。但是还有很多 Python 的编程小技巧鲜被提及。因此,本文会试着介绍一些其它文章没有提到的小技巧,这些小技巧也是我平时会用到的的。让我们一探究竟吧! 整理字符[详细]
-
GitHub标星6200:一种字体,变成千姿百态艺术字,设计师馋哭了
所属栏目:[优化] 日期:2019-10-28 热度:156
副标题#e# 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 这个字体叫Leon Sans,表面看去平平无奇。 但事实上,它并不是普通的字体,体内蕴藏着魔力。 Leon Sans最特别的地方在于,字体是由代码构成的。有了这些代码,它可以随意变身[详细]
-
报告:JavaScript 成为最受欢迎的开发技术
所属栏目:[优化] 日期:2019-10-28 热度:95
根据SDTimes报道,Pluralsight 科技公司公布自己的 Technology Index,JavaScript位居榜首。 Pluralsight,是美国的一家面向软件开发者的在线教育课程服务商,成立于 2004 年,该公司网站平台上已经积累了 3000+ 个课程,并且每天还有所增加,学员广泛分布[详细]
-
「量子霸权」真的来了:谷歌论文正式在《自然》杂志发表
所属栏目:[优化] 日期:2019-10-28 热度:83
副标题#e# 谷歌认为,它已找到了一条开发容错量子计算机的出路。 谷歌的研究人员今天在《自然》杂志上发表了量子计算方面的最新成果,展示了其新的Sycamore处理器如何在短短200秒内运行需要全球最庞大的超级计算机耗时10000年才能完成的测试计算。 关于该论[详细]
-
小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑
所属栏目:[优化] 日期:2019-10-28 热度:159
副标题#e# 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 常常发资源的英伟达工程师小姐姐Chip Huyen,又发了一套Python隐藏功能合集。 里面都是她从前没发现,或者从前不太敢用的机器学习技巧,有notebook可以直接跑。 合集名叫pyth[详细]
-
10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解
所属栏目:[优化] 日期:2019-10-28 热度:119
副标题#e# 我今天花了大半个下午的时间,写了这篇hadoop的架构,全篇都是以大白话的形式,也算是为后面更加详细的每一部分开了个好头吧,如果喜欢请点转发和关注,如果有疑问,直接在评论里说出来,大家一起解决,才能进步。 一、概念 Hadoop诞生于2006年,[详细]
-
超详细的微服务分布式架构统一配置中心选型对比
所属栏目:[优化] 日期:2019-10-27 热度:191
概述 由于目前新项目基本是微服务架构,大概有几十个项目,都是基于LCP平台研发的,而每次平台上修改配置,各个项目也都需要去修改配置,然后还要重启,况且是三套环境,维护起来特别麻烦,所以准备做一个统一的配置中心,以下是技术选型的对比。 一、开源[详细]
-
关于Python导入模块,你可能没学透
所属栏目:[优化] 日期:2019-10-27 热度:95
副标题#e# 作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题: 常规导入(regular imports) 使用from语句[详细]
-
千万级流量架构下的负载均衡解析
所属栏目:[优化] 日期:2019-10-27 热度:68
副标题#e# 一、负载均衡 集群中的应用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点。 负载均衡器会根据集群中每个节点的负载情况,将用户请求转发到合适的节点上。 负载均衡器可以用来实现高可用以及伸缩性: 高可用:当某个节点故障时,负载[详细]
-
网络爬虫是啥玩意儿?有什么用呢?
所属栏目:[优化] 日期:2019-10-27 热度:111
在这个用数据说话的时代,数据是一件极其重要的事情,怎样才能抓取到完整以及全面的数据呢?这并不是一件容易的事情。 如果想要做好大数据的分析,单单依靠一己之力或者是周边的数据是远远不够的,还需要借助神秘的外部力量。 这个时候,互联网上的资源就非[详细]
