编程语言
文章平均质量分 87
360linker
360linker技术社区的发起人,曾在多家头部互联网公司任职,致力于打造一个帮助我们实现高效技能提升的圈子,分享IT圈内技术、产品、运营、市场等信息。
展开
-
四种线程池拒绝策略
一、前言线程池,相信很多人都有用过,没用过相信的也有学习过。但是,线程池的拒绝策略,相信知道的人会少许多。二、四种线程池拒绝策略当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略:ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。 ThreadPoolExecutor.DiscardPolicy:丢弃任务,但是不抛转载 2020-11-11 09:10:00 · 685 阅读 · 0 评论 -
如何在腾讯云快速构建一个Wordpress个人站点?
实验架构任务一:购买并创建一台云主机并登录登录公共帐号,在云主机控制台找到自己的云主机,复制你的主机的公网IP登录云主机Step1: 下载并安装客户端软件 从本地登录到Linux云服务器,我们需要下载一款链接工具。这里我们使用Putty来链接服务器。访问链接下载Putty.exeStep2:登录到Linux服务器 双击打开Putty,在Hostname中输入IP...原创 2018-08-29 09:04:13 · 277 阅读 · 0 评论 -
Java 10的10个新特性
Java 10的新特性1. 局部变量类型推断局部变量类型推断可以说是Java 10中最值得注意的特性,这是Java语言开发人员为了简化Java应用程序的编写而采取的又一步,如下图所示。这个新功能将为Java增加一些语法糖 - 简化它并改善开发者体验。新的语法将减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺。局部变量类型推断将引入"var"关键字,也就是你可以随意定义变量...原创 2018-09-06 09:49:09 · 215 阅读 · 0 评论 -
HTTP中的连接和轮询
短连接和长连接短连接:每次Http请求都会建立Tcp连接,管理容易长连接:只需要建立一次Tcp连接,以后Http请求重复使用同一个Tcp连接,管理难 HTTP1.1规定了默认保持长连接(HTTP persistent connection),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接 如果服务器没有...原创 2018-09-21 10:27:33 · 412 阅读 · 0 评论 -
过滤器、拦截器、AOP切面执行顺序的比较
过滤器:基于 Servlet,通过函数回调方式实现,可以过滤请求和图片文件等,每个请求一个过滤器只能过滤一次。 拦截器:基于 java 的反射机制,代理模式实现,只能拦截请求,可以访问上下文等对象,功能强大,一个请求可多次拦截。 拦截器是 Spring 中AOP的一种实现方法。另一种方法通过 Pointcut、Advice实现 下面具体测试三者执行顺序: 第一步:添...原创 2018-10-25 11:05:27 · 3210 阅读 · 0 评论 -
怎么进行线程安全的日期格式化操作?
由于 DateFormat 是非线程安全的,因此在多线程并发情况下日期格式化时需要特别注意。下面记录几种格式化的方式:线程不安全的处理方式private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//线程不安全这种方式会报如下异常:线程安全的处理方式方...原创 2018-10-23 11:47:30 · 264 阅读 · 0 评论 -
Java 代码性能优化总结
代码优化的目标是: 1、减小代码的体积2、提高代码运行的效率 本文的内容有些来自网络,有些来自平时工作和学习,当然这不重要,重要的是这些代码优化的细节是否真真正正地有用。那本文会保持长期更新,只要有遇到值得分享的代码优化细节,就会不定时地更新此文。 代码优化细节 1、尽量指定类、方法的final修饰符 带 有final修饰符的类是不可派生的。在Java核...原创 2018-10-26 17:02:38 · 97 阅读 · 0 评论 -
常问的Java基础面试题
1. 面向对象和面向过程的区别 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点: 没有面向对象易维护、易复用、易扩展面向对象 优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活...原创 2018-10-24 09:55:03 · 244 阅读 · 1 评论 -
Java泛型使用详解
一、引入 1、泛型是什么首先告诉大家ArrayList就是泛型。那ArrayList能完成哪些想不到的功能呢?先看看下面这段代码: ArrayList<String> strList = new ArrayList<String>(); ArrayList<Integer> intList = new ArrayList<I...原创 2018-11-02 15:16:47 · 244 阅读 · 0 评论 -
解决Gradle dependencies compile jar包冲突、重复问题
一、情景复现: 在使用 dependencies { compile … } 添加 libs时,经常遇到同一个lib 出现了两个不同的版本,导致不同的问题。 例如:工程 A 添加了 rxandroid:2.0.1 和adapter-rxjava两个libs.而adapter-rxjava中使用了rxandroid:1.1.5这样在工程中就会出现两个不同的类库。...原创 2018-11-05 10:05:04 · 6108 阅读 · 1 评论 -
SpringMVC 之 @ResponseBody 和 @RequestBody 用法
本文暂不讨论如何 JSON 的格式规范,而是解析一下如何在 SpringMVC 中方便快捷的使用 JSON 进行数据交互。那就是使用两大注解: @ResponseBody 和 @RequestBody 。 pom.xml 我采用 Maven 来管理构建项目,要使用 @ResponseBody 和 @RequestBody ,要先在 pom.xml 里引入 jackson 依赖包。...原创 2018-11-13 11:36:14 · 217 阅读 · 0 评论 -
JVM 类加载机制详解
如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代...转载 2019-02-28 16:20:40 · 139 阅读 · 0 评论 -
Java 9 的十大新特性
modularity System 模块系统Java 9中主要的变化是已经实现的模块化系统。Modularity提供了类似于OSGI框架的功能,模块之间存在相互的依赖关系,可以导出一个公共的API,并且隐藏实现的细节,Java提供该功能的主要的动机在于,减少内存的开销,在JVM启动的时候,至少会有30~60MB的内存加载,主要原因是JVM需要加载rt.jar,不管其中的类是否被classl...原创 2018-08-31 10:26:42 · 168 阅读 · 0 评论 -
Java8中的Stream解决什么问题?
Stream是Java8的一大亮点,是对容器对象功能的增强,它专注于对容器对象进行各种非常便利、高效的 聚合操作(aggregate operation)或者大批量数据操作。Stream API借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性。同时,它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用fork/join并行方式来拆分任务和加速处理过程...原创 2018-08-22 19:29:40 · 1348 阅读 · 0 评论 -
2018.4.18 linker航海日志之 类加载器双亲委派模型
某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。使用双亲委派模型的好处在于Java类随着它的类加载器一起具备了一种带有优先级的层次关系。例如类java.lang.Object,它存在在rt.jar中,无论哪一个类加载器要加载这个类,最终都是委派给处于模型最顶端的Boot...原创 2018-04-19 10:51:10 · 343 阅读 · 0 评论 -
go语言中数组和切片的区别
一 数组简介数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,无法修改其长度。当作为方法的参数传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度。注意:和C中的数组相比,又是有一些不同的1. Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组...转载 2018-04-25 11:23:35 · 32489 阅读 · 2 评论 -
Go项目工程管理及目录结构
在Go的官网文档How to Write Go Code中,已经介绍了Go的项目目录一般包含以下几个:src 包含项目的源代码文件;pkg 包含编译后生成的包/库文件;bin 包含编译后生成的可执行文件。可以通过下面的例子来说明工程目录的组织管理。(Windows 7 64位,go version go1.3.3 windows/amd64)1. 创建一个库文件创建一个库文件a.go并保存在scr...原创 2018-04-25 11:27:34 · 20842 阅读 · 0 评论 -
2018.4.24 linker航海日志之 go 语言特性
1、Go的优势· 可直接编译成机器码,不依赖其他库。· 静态类型语言,可以在编译的时候检查出来隐藏的大多数问题,有很多的包可以使用,写起来的效率很高。· 语言层面支持并发,天生的支持并发,可以充分的利用多核,很容易的使用并发。· 内置runtime,支持垃圾回收。· 简单易学,关键字是25个,但是表达能力很强大。· ...原创 2018-04-26 11:12:13 · 270 阅读 · 0 评论 -
2018.4.26 linker航海日志之 go语言工程管理
Go开发人员需要确保所有的Go代码在同一个workspace下面一个workspace包括许多版本控制仓库(例如通过Git管理)每一个仓库包括一个或多个包每一个包由单一目录下的一个或者多个Go源文件组成包的目录路径决定了import的路径。WorkspacesWorkspace是一个目录层级,根节点包括三个文件夹:Src:包括Go的源文件Pkg:包括包对象Bin:包括可执行命令Src子文件夹一般由...原创 2018-04-27 10:04:48 · 252 阅读 · 0 评论 -
不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据
Python爬虫为什么受欢迎如果你仔细观察,就不难发现,懂爬虫、学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,让爬虫变得简单、容易上手。利用爬虫我们可以获取大量的价值数据,从而获得感性认识中不能得到的信息,比如:知乎:爬取优质答案,为你筛选出各话题下最优质的内容。淘宝、京东:抓取商品、评论及销量数据,对各种商品及用户的消...转载 2018-06-14 16:00:55 · 29740 阅读 · 6 评论 -
拨开python大数据分析的神秘面纱
导读本文主要包括两部分内容,第一部分会对零零散散进行了两个多月的用户画像评测做个简要回顾和总结,第二部分会对测试中用到的python大数据处理神器pandas做个整体介绍。Part1 用户画像评测回顾与总结1、为什么做用户画像评测?将时钟拨回到2018年初,大家迫切想打破以往资讯推荐无章可循的局面,而今日的推荐算法也似乎演成了神话,用户意图这个词在WiFi管家团队被一再提及,继而A...转载 2018-07-18 10:15:01 · 225 阅读 · 0 评论 -
有http了,为什么还要用rpc?
http 和 rpc 并不是一个并行概念。http是超文本传输协议,应用层网络协议。rpc不是协议,是指远程过程调用,对不同应用间相互调用的一种描述。其调用协议通常包含传输协议和编码协议;支持http和tcp; rpc调用是面向服务的封装,针对服务的可用性和效率等都做了优化。单纯使用http调用则缺少了这些特性。例如rpc框架提供的负载均衡,服务治理,自动熔断/降级,...转载 2018-08-05 16:38:35 · 1373 阅读 · 0 评论 -
Go的语言特性总结
近来关于对Golang的讨论有很多,七牛的几个大牛们也断定Go语言在未来将会快速发展,并且很可能会取代Java成为互联网时代最受欢迎的编程语言。Go语言是google推出的编程语言,在已经成功的给世人创造了改变人们生活的操作系统之后,google似乎感觉有必要再为世人带来一款强大的编程语言,而Go语言依靠自己众多友好的特性也不负众望正在被开发者接触,我有幸在学习高性能并发编程的时候认识了Go语言,...转载 2018-08-12 11:41:32 · 265 阅读 · 0 评论 -
秒杀系统设计思路
高并发,cache,锁机制 基于缓存架构redis,Memcached的先进先出队列。 稍微大一点的秒杀,肯定是分布式的集群的,并发来自于多个节点的JVM,synchronized所有在JVM上加锁是不行了 数据库压力 秒杀超卖问题 如何防止用户来刷, 黑名单?IP限制? 利用memcached的带原子性特性的操作做并发控制 ...原创 2018-08-07 22:53:29 · 228 阅读 · 0 评论 -
2018.4.17 linker航海日志之 JAVA 注解作用及关键点
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。元注解:元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 自定义注解:使用@interface自定义注解时,自动继承了java.lang.annotation.Annotat...原创 2018-04-18 10:21:59 · 267 阅读 · 0 评论