自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

360linker

IT圈技术、产品、运营、市场、职场等信息交流分享

  • 博客(29)
  • 收藏
  • 关注

转载 REST API和SOAP API之间的区别

The Representational State Transfer (REST)架构风格不是可以购买的技术,也不是可以添加到软件开发项目中的库。REST是一种世界观,将信息提升为我们构建的体系结构的第一流元素。Roy Fielding博士的论文“架构风格和基于网络的软件架构设计”介绍并整理了用于描述“RESTful”系统的思想和术语。这是一份学术文件,但通过提供RESTful架构的基础,可...

2019-04-29 14:00:45 1442

转载 Could not find or load main class org.gradle.wrapper.GradleWrapperMain解决办法

解决办法:gradlewis the gradle wrapper executable - batch script on windows and shell script elsewhere. If you include the following lines in yourbuild.gradle,task wrapper(type: Wrapper) { gradl...

2019-04-23 11:06:02 3529

转载 主流微服务注册中心浅析和对比

前言服务发现是一个古老的话题,当应用开始脱离单机运行和访问时,服务发现就诞生了。目前的网络架构是每个主机都有一个独立的IP地址,那么服务发现基本上都是通过某种方式获取到服务所部署的IP地址。DNS协议是最早将一个网络名称翻译为网络IP的协议,在最初的架构选型中,DNS+LVS+Nginx基本可以满足所有的RESTful服务的发现,此时服务的IP列表通常配置在Nginx或者LVS。后来出现了RP...

2019-04-21 20:37:36 316

转载 MyBatis框架及原理分析

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。MyBatis的配置MyBatis框架和其他绝...

2019-04-17 17:34:44 94

转载 java怎么实现统计一个字符串中字符出现的次数

问题:假设字符串仅仅保护a-z 的字母,java怎么实现统计一个字符串中字符出现的次数?而且,如果压缩后的字符数不小于原始字符数,则返回。处理逻辑:首先拆分字符串,以拆分出的字符为key,以字符出现次数为value,存入Map中。源码如下: 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import ja...

2019-04-17 14:18:33 11576 1

转载 Spring容器技术内幕之内部工作机制

引言Spring容器就像一台构造精妙的机器,我们通过配置文件向机器传达控制信息,机器就能够按照设定的模式工作。如果将Spring容器比作一辆车,那么可以将BeanFactory看成汽车的发动机,而ApplicationContext则是一辆完整的汽车,它不但包括发动机,还包括离合器、变速器及底盘、车身、电气设备等其他组件。在ApplicationContext内,各个组件按部就班、有条不絮地完...

2019-04-17 13:48:02 91

转载 Java读取txt文件和写入txt文件

网友推荐更加简洁的写法,修改之后的代码;项目实用优化,增加java7中的try-with-resources写法package com.nickwong.code;import java.io.*;/*** Created by Nickwong on 31/07/2018.* 根据1-8楼的建议,优化了代码*/public class ReadTxt { p...

2019-04-17 10:09:23 828

转载 Object类有哪些方法?各有什么作用?

Object类,属于java.lang包,位于类层次结构树的顶部。每个类都是Object类的直接或间接的后代。使用或编写的每个类都继承Object的实例方法。Object类总共13个方法,直接一点上图(使用的是JDK1.7的源码):1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException...

2019-04-16 22:09:16 3587

转载 http协议与soap协议之间的区别

http是标准超文本传输协议。使用对参数进行编码并将参数作为键值对传递,还使用关联的请求语义。每个协议都包含一系列HTTP请求标头及其他一些信息,定义客户端向服务器请求哪些内容,服务器用一系列HTTP响应标头和所请求的数据进行响应。HTTP-GET 使用 MIME 类型application/x-www-form-urlencoded(将追加到处理请求的服务器的 URL 中)以 URL 编码文本的...

2019-04-15 14:16:21 205

转载 不仅仅程序员的格子衬衫!互联网公司时尚穿搭指南

那年,我还年轻,会穿一整套西装打领带去互联网公司面试;然后差点被人当成推销被赶出门......后来我才知道:着装,是互联网公司区别于其它公司的天然结界。互联网公司对于正装的需求,大概只存在于微信头像上(也可能是要上创投网站的报道或者团队要更新官网合照)。“你为什么选择我们公司?”“我就是为了随便穿才来这里上班的!”-正文开始-Internet Company...

2019-04-14 23:09:38 622

转载 10分钟看懂Docker和K8S

2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。LXC,就是Linux容器虚拟技术(Linux container)后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。Docker技术诞生之后,并没有引起行业的关注。...

2019-04-12 10:31:34 427

转载 理解水平扩展和垂直扩展

当一个开发人员提升计算机系统负荷时,通常会考虑两种方式垂直扩展和水平扩展。选用哪种策略主要依赖于要解决的问题 以及系统资源的限制。在这篇文章中我们将讲述这两种策略并讨论每种策越的优缺点。如果你已经有一个软件系统需要不断成长,那么你将有意或者无意中选择这两 种策略中的一种。垂直扩展在垂直扩展模型中,想要增加系统负荷就意味着要在系统现有的部件上下工夫,即通过提高系统部件的能力来实现。例如,假设...

2019-04-12 10:31:12 938

转载 每个架构师都应该研究下康威定律

背景今天的分享主要来自我之前的工作经验以及平时的学习总结和思考。我之前的背景主要是做框架、系统和平台架构,之前的工作过的公司eBay、携程、唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会。架构的视角每个人都不一样,可以说一万种眼光,有业务架构、安全架构、平台架构、数据架构,各不相同,这里仅是我的一家之言,欢迎大家加入『聊聊架构』社群参与讨论。今天聊的话题主要包括以下...

2019-04-12 10:30:58 191

转载 Java开发者必知必会的20种常用类库和API

一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车。《Effective Java》的作者Joshua Bloch曾经说过:“建议使用现有的API来开发,而不是重复造轮子”。在本文中,我将分享一些Java开发人员应该熟悉的最有用的和必要的库和API。顺便说一句,这里不包括框架,如Spring和Hibernate因为他们非常有名,都有特定的功能。本文总结了日志、JSON解析、单测、...

2019-04-12 10:30:42 189

转载 图数据库及应用场景

近年来,企业上云已经成为一种潮流和趋势,河南省政府也出台了《河南省“企业上云”行动计划(2018-2020年)》,怎么使用好云,怎么用好底层云数据库也成为了一个新的课题。腾讯云数据库产品副总监邵宗文老师将通过多年腾讯云数据库积累的行业经验和服务客户案例,结合云数据库与自建数据库的对比,和大家分享数据库行业分析发展趋势,帮助企业借助图数据库提升行业竞争力,加快企业高速发展!一、市场分析急...

2019-04-12 10:30:29 2427

转载 聊聊Spring家族中的那几百个注解

本文我们来梳理一下Spring的那些注解,如下图所示,大概从几方面列出了Spring的一些注解:如果此图看不清楚也没事,请运行下面的代码输出所有的结果。Spring目前的趋势是使用注解结合Java代码而不是配置来定义行为、属性、功能、规则和扩展点,因此梳理注解也是梳理Spring功能点的很好的方式,全面的梳理可以补足我们知识点的漏洞。查找所有注解首先,我们来创建一个...

2019-04-12 10:30:14 129

转载 面试官问Spring Boot 最核心的三个注解时,我懵了

最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过。然而,当我问他们 Spring Boot 最核心的 3 个注解是什么,令我失望的是鲜有人能答上来,这样你能说你对 Spring Boot 很了解吗?这可能还会给你减分!Spring Boot 核心注解讲解Spring Boot 最大的特点是无需 XML 配置文件,能...

2019-04-12 10:29:52 4646 2

转载 阿里面试题,为什么wait()方法要放在同步块中?

某天我在***的时候,突然有个小伙伴微信上说:“哥,阿里面试又又挂了,被问到为什么wait()方法要放在同步块中,没答出来!”我顿时觉得**一紧,仔细回顾一下,如果wait()方法不在同步块中,代码的确会抛出异常: public class WaitInSyncBlockTest { @Test public void test()...

2019-04-12 09:07:17 2110

转载 Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结

对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现nginx+redis+ehcache。Nginx对于中间件nginx常用来做流量的分发,同时nginx本身也有自己的缓存(容量有限),我们可以用来缓存热点数据,让用户的请求直接走缓存并返回,减少流向服务器的流量。1.模板引擎通常我们可以配合使用freemaker/velocity等模...

2019-04-11 14:46:34 359

转载 Nginx 动静分离与负载均衡的实现

一、前提企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题。问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环境的优化,除了对源代码进行优化、SQL慢查询优化 、SQL创建索引等之外,我们还可以对环境架构进行优化与扩展。因此,我们引入了 Nginx 对站点实现负载均衡和动静分离,来加快访问速度。二...

2019-04-11 14:44:53 278

转载 阿里P7架构师谈职业生涯规划,给遇到瓶颈,迷茫期的人群一些建议

一、规划工作3年了,感觉自己的技术现在到了一个瓶颈,在做一些重复性的业务性的工作,没有长进,提高太慢;因此停下脚步对自己的职业生涯做了一个规划,并为之努力奋斗:20-27岁:技术积累阶段在这 5 年时间里面,你要积累足够的技术底子,打磨自己的技术实力,成为某一个技术细分领域的牛人;28-35岁:形成思维方法论和知识体系的阶段形成思维方法论和知识体系的阶段 当你积累足够的技术...

2019-04-11 14:42:15 334

转载 五大分布式ID生成器优缺点及对比

首选,不管是不是分布式系统,都有 ID 唯一的使用场景。而在分布式场景下,对 ID 的唯一性要求更严格!常见的,我们上淘宝买东西的订单 ID,就是一种分布式 ID。淘宝,前期的订单 id 好像是 14 位,现在好像已经是 16 位,或者 18 位了吧。以我们公司的订单 ID 为例,它有这几个特点。ID 全局唯一,不会重复 ID 的增长支持分布式使用 ID 要方便好记,并且...

2019-04-11 14:40:46 1336

转载 为什么中国没有诞生世界流行的编程语言?

Java, C, C++, Go, JavaScript ...... 这些著名的编程语言都是美帝搞出来的,Python是荷兰人发明的,Ruby 是日本人发明的,Lua 是巴西人发明的。到目前为止,还没有一个诞生于中国的、世界流行的编程语言。我觉得原因很简单,国内还没有诞生优秀编程语言的土壤。编程语言的一般产生于三个地方,大学/研究所,IT公司,有兴趣的个人。美帝的IT行业雄霸...

2019-04-11 14:39:36 219

转载 你可能不太会用的10个Git命令

本文介绍了 10 个常见的命令以及它们的一些参数。每个命令都可以链接到该命令的 Atlassian Bitbucket 指南。1. 检查先了解一下如何检查改动痕迹。git diff——查看所有本地文件的改动。只改动一个文件的话可以在命令后添加文件名。 git log——查看所有提交历史。还可用于带有 git log –p my_file 的文件,输入 q 退出。 git b...

2019-04-11 14:38:25 102

转载 十年阿里架构师教你如何阅读Java源码

阅读Java源码的前提条件:1、技术基础在阅读源码之前,我们要有一定程度的技术基础的支持。假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。比如设计模式,许多Java源码当中都会涉及到。再比如阅读Spring源码的时候,势必要先对IOC,A...

2019-04-11 14:36:15 135

转载 程序员水平难判断?程序员的6大等级,赶紧对号入座吧!

程序员有年薪十万和年薪百万之分,为什么会这样?因为程序员的水平高低不一样,今天小编就来带大家看看程序员的水平高低以及程序员的级别吧。0不入流程序员哥写的不是程序,是BUG。1初级程序员初级程序员的定义是可以独立完成项目。能独立完成项目,就需要懂好多东西了。从业务的角度来说,要懂很多业务逻辑,能够理解并且抽象成模型转换成代码,要会测试,要会发布,要会改Bug,要懂版本管理,要知道代码...

2019-04-11 14:34:49 400

转载 如何设计一个百万级的消息推送系统

前言先简单说下本次的主题,由于我最近做的是物联网相关的开发工作,其中就不免会遇到和设备的交互。最主要的工作就是要有一个系统来支持设备的接入、向设备推送消息;同时还得满足大量设备接入的需求。所以本次分享的内容不但可以满足物联网领域同时还支持以下场景:基于 WEB 的聊天系统(点对点、群聊)。 WEB 应用中需求服务端推送的场景。 基于 SDK 的消息推送平台。技术选型要满足...

2019-04-11 14:31:41 1354

转载 K8S基础概念

一、核心概念1、NodeNode作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的负载均衡。Node包含的信息:Node地址:主机的IP地址,或Node ID。 Node的运...

2019-04-11 14:30:10 124

转载 COC软件设计原则

Convention over Configuration(CoC)– 惯例优于配置原则 简单点说,就是将一些公认的配置方式和信息作为内部缺省的规则来使用。例如,Hibernate的映射文件,如果约定字段名和类属性一致的话,基本上就可以不要这个配置文件了。你的应用只需要指定不convention的信息即可,从而减少了大量convention而又不得不花时间和精力啰里啰嗦的东西,...

2019-04-04 17:03:45 1292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除