-
一把“万能钥匙”就能开所有共享单车,撬走3亿元,开发者已被抓捕...
所属栏目:[优化] 日期:2019-11-05 热度:112
共享单车是别人的,运营管理的也是别人,做一把万能钥匙,打开所有的共享单车,钱就落到自己的口袋,天下哪里能有这样的好事? 最近,据央视新闻报道,上海公安机关接到共享单车企业报案,随后破获了一起共享单车万能解锁 App 案,犯罪嫌疑人开发的 App 软[详细]
-
Python正则表达式教程-常用文本处理技巧
所属栏目:[优化] 日期:2019-11-05 热度:143
介绍: 正则表达式用于识别模式(pattern)是否存在于给定的字符(字符串)序列中。它们有助于处理文本数据,这通常是涉及文本挖掘的数据科学项目的先决条件。您一定遇到过一些正则表达式的应用程序:它们在服务器端用于在注册过程中验证电子邮件地址或密码的[详细]
-
Python常用的算法——贪心算法(又称贪婪算法),你知道吗?
所属栏目:[优化] 日期:2019-11-05 热度:194
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是好的选择。也就是说,不从整体最优上加以考虑,他所做出的的时在某种意义上的局部最优解。 贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断一个问题能[详细]
-
多线程的执行效率一定高于单线程吗?
所属栏目:[优化] 日期:2019-11-05 热度:89
一、什么是串行?什么是并行? 串行:任务进行排队,一个一个执行; 并行:多个任务齐头并进。 二、单核、多核这两种情况下的并行。 单核情况下的并行:并非真的是多个任务同时进行的,是需要在这任务之间来回切换(即上下文切换)的。 多核情况下的并行:是几[详细]
-
Java实现线程安全的方式
所属栏目:[优化] 日期:2019-11-05 热度:169
多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1、使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能有一个线程在执行。 2、使用volatile关键字 volatile关键字用来修饰共享变[详细]
-
详解ETL工具十大必备的功能特性
所属栏目:[优化] 日期:2019-11-05 热度:90
概述 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行。 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用。今天主要先描述ETL工具的通用功能。 ETL工具的功能之一:连接 任何ETL工具[详细]
-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-11-05 热度:157
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-11-05 热度:170
作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务是 Algolia[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-11-05 热度:200
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-11-05 热度:105
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-11-05 热度:102
概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中。字符串引[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-11-05 热度:185
别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-11-05 热度:195
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
作为高级Java,你应该了解的Linux知识
所属栏目:[优化] 日期:2019-11-05 热度:70
Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一[详细]
-
来吧,说说你眼中的微服务
所属栏目:[优化] 日期:2019-11-05 热度:141
微服务划分模式 虽然服务是逐步被拆分出来的,随着业务的演进,在某一时刻,可能需要我们重新审视服务划分得是否合理。本节向大家推荐两种服务划分的方法,首先介绍如何选择服务划分的方法。 基于业务复杂度选择服务划分方法 根据业务复杂度划分服务,如图[详细]
-
线程、多线程和线程池,我终于把这些全部搞懂了
所属栏目:[优化] 日期:2019-11-05 热度:52
1、开启线程的三种方式? 1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start(); 2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start(); 3)实现Callable接口MyCallable类,实现call()方法,使用Futur[详细]
-
MongoDB实现问卷/考试设计
所属栏目:[优化] 日期:2019-11-05 热度:176
MongoDB的特点 MongoDB是一个面向文档存储的数据库。在MongoDB中,一条记录叫做document(文档),由类似于JSON结构的键值对组成。 由于类似于MongoDB直接存储JSON的特性,MongoDB天生适合作为存储结构复杂的数据结构的介质。类似于问卷调查和考试这种需求[详细]
-
四条使用Spring BeanUtils的总结,避免各种诡异的属性拷贝问题!
所属栏目:[优化] 日期:2019-11-04 热度:192
背景 最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性[详细]
-
不吹不黑,这个算法,你肯定不会
所属栏目:[优化] 日期:2019-11-04 热度:182
01、前言 我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有 LRU,LFU,FIFO,这篇文章我们[详细]
-
Hadoop 生态之 MapReduce 及 Hive 简介
所属栏目:[优化] 日期:2019-11-04 热度:58
1.计算框架 Hadoop 是一个计算框架,目前大型数据计算框架常用的大致有五种: 仅批处理框架:Apache hadoop. 仅流处理框架:Apache Storm、Apache Samza. 混合框架:Apache Spark、Apache Flink. 这其中名气最大、使用最广的当属 Hadoop 和 Spark。 虽然两[详细]
-
Java高可用集群架构与微服务架构分析
所属栏目:[优化] 日期:2019-11-04 热度:88
序 可能大部分读者都在想,为什么在这以 dubbo、spring cloud 为代表的微服务时代,我要还要整理这种已经过时高可用集群架构? 本人工作上大部分团队都是7-15人编制的开发团队,对应的公司项目也大都是中小型项目,最大的项目 PV/UV 也就只有 10w/2w 。在这[详细]
-
基于 Spring Cloud 与 Vue.js 的前后端一站式部署
所属栏目:[优化] 日期:2019-11-04 热度:93
本文将带大家从一台全新的 CentOS 服务器开始,部署一套完整的前后端分离项目。操作步骤非常详细,新手友好型文章~ 后端技术栈:Spring Cloud 微服务架构 + Redis + RabbitMQ + MySQL; 前端技术栈:Vue + ElementUI; 部署工具:后端用 Docker 容器化部署,[详细]
-
6 大主流 Web 框架优缺点对比
所属栏目:[优化] 日期:2019-11-04 热度:132
是该读些评论和做一些总结的时候了。当我们开始写这个系列博客的时候,我们知道 JavaScript/web 应用框架并不太好总结。我们努力对这个不可回答的问题作出回答:我该用什么样的框架? 在这篇文章中,我们将对这个系列中所提到的每款框架做一个总结,包括我[详细]
-
2019年Java前景堪忧?看看大数据怎么说
所属栏目:[优化] 日期:2019-11-04 热度:152
有人说,Python、GO等语言的崛起会影响Java的地位,阻碍其发展? 2018 年随之人工智能技术大火的 Python、2017 年谷歌 发表声明将做为 Android 开发一级语言的 Kotlin 、2016 年因前端开发而变成最火爆语言的 JavaScript 等等均向传统式计算机语言 Java 参[详细]
-
React VS Vue:谁会成为2020年的冠军?
所属栏目:[优化] 日期:2019-11-04 热度:137
如今,JavaScript 框架、HTML和CSS已经成为现代软件项目前端开发中必不可少的部分。到了2020年,为web应用开发项目选择合适的JavaScript框架依旧是个问题。 正在阅读本文的你,想必也在烦恼应用程序开发的技术堆栈应该如何选择。做决定很困难,此文正是为[详细]