自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Java消息中间件

学习慕课网java消息中间件记些笔记1.概述中间件 非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。 消息中间件 管制关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统。 优点 ① 解耦 ② 异步 ③ 横向扩展 ④ 安全可靠 ⑤ 顺序保证(比如kafka) jms java消息服务(Java Message Service)...

2018-07-09 11:57:43 153

原创 高并发讲解思路

电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web...

2018-07-04 16:12:35 342 1

原创 JAVA 薪资待遇各城市比较

据调查显示,世界上有大约900万的Java开发人员,作为即将成为这900万大军中的一员,你知道去企业后你的工作职责是什么吗?你所在城市JAVA薪资水平又如何呢?这些可都关系到你的成长和利益哦。个轮播图,尝试把轮播变为3D轮播,或者定时轮播,或者无缝轮播,这才是最有效率的学习方式!对于正在学习web前端但不知道学习方法,不知道该如何找到工作的朋友,我还是要推荐下我自己建的前端学习群:52857646...

2018-06-26 16:15:41 17775

原创 Java NIO与IO比较总结

在学习标准IO相关接口和NIO接口时,我们常常面临一个问题:什么时候应该使用IO接口?什么时候应该使用NIO接口? 这里我们将对比较Java NIO 和 IO的区别,他们的使用场景,如何使用他们编写高效的代码。Java NIO和IO的主要区别下边的表对比了二者的主要区别。IO 基于Stream 阻塞NIO 基于Buffer 非阻塞 Selector支持1.基于Stream VS 基于BufferJ...

2018-06-26 15:25:45 173

原创 IntelliJ Idea 常用快捷键 !

IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 例如要输入for(User user : users)只需输入user.for+Tab 再比如,要输入Date birthday = user.getBi...

2018-06-25 14:55:16 112

原创 HttpClient 接口调用工具类

1.maven jar包依赖                <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>2.工具类实例代码pa...

2018-05-25 14:48:28 204

原创 深入浅出 JAVA NIO(二)

在我的上一篇文章 JavaNIO详解(一)中介绍了关于标准输入输出NIO相关知识, 本篇将重点介绍基于网络编程NIO(异步IO)。异步IO异步 I/O 是一种没有阻塞地读写数据的方法。通常,在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样, write()调用将会阻塞直至数据能够写入,关于同步的IO请参考另一篇文章Java IO。另一方面,异步 I/O 调用不但不会阻塞,相反...

2018-05-25 14:25:40 143

原创 深入浅出 JAVA NIO(一)

NIO即新的输入输出,这个库是在JDK1.4中才引入的。它在标准java代码中提供了高速的面向块的IO操作。12一、基本概念描述1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再转换为对象。关于J...

2018-05-25 14:20:56 168

原创 Mysql sql语句优化

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.为查询缓存优...

2018-05-24 18:22:35 313

原创 电脑安装多个版本JDK切换无效问题解决

关于电脑安装多个版本JDK后使用时的切换描述:刚到新公司,自己安装了jdk1.7和开发工具myeclipse10,但是由于公司项目的需要(具体原因不详细描述了),需要使用myeclipse6.5和jdk1.6。于是在切换jdk1.7和jdk1.6之前出现了一些小障碍,下面描述出来以便部分初级程序员和自己以后处理相类似问题。具体操作和描述如下1、原本安装了jdk1.7,环境变量也是配置的1.7相关路...

2018-05-24 15:40:55 1560 1

原创 SwaggerUI自动生成API文档(SwaggerUI+SpringBoot)

1.Swagger介绍百度百科:Swagger的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。我觉得把Swagger当成一种开发工具就好,省去了手写...

2018-05-24 14:53:40 1682

原创 Java23种设计模式【很全】

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模...

2018-05-23 18:42:11 197 1

原创 Java之美[从菜鸟到高手演变]之智力题【史上最全】

智力题,每个正式的笔试、面试都会出,而且在面大企业的时候必然会问到,笔者曾在很多面试中,都被问到过,不过答得都不是很好,因为时间很短,加上我们有时候过于紧张,所以做出这类问题,还是有一定的难度,从这篇文章中我会总结一些常见的智力题,本章系Java之美[从菜鸟到高手演变]系列之智力题,希望各位读者能在本章所列的题中找出做这类题的方法,克服面试中的难题!1、农民分金条问题题目:你让农民为你工作7天,给...

2018-05-23 18:33:54 1034

原创 Solr使用入门指南

本文转自 http://chuanliang2007.spaces.live.com/blog/cns!E5B7AB2851A4C9D2!499.entry?wa=wsignin1.0 由于搜索引擎功能在门户社区中对提高用户体验有着重在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有集中方案可供选择:1. 基于Lucene自己进行封装实现站内搜索。工作量及扩展性都较大,不采用...

2018-05-23 17:24:56 144

原创 java集合底层实现原理

ArrayList实现原理要点概括参考文献: http://zhangshixi.iteye.com/blog/674856l https://www.cnblogs.com/leesf456/p/5308358.htmlArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。底层使用数组实现该集合是可变长度数组,数组扩容时,会将老数组中的元素重新拷贝一份到新的数组...

2018-05-23 15:57:22 512

转载 【精】JVM调优 全面

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2...

2018-05-21 18:24:31 120

转载 想进大厂?50个多线程面试题,你会多少?(一)

点击打开原文链接什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,可以使用多线程对进行运算提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒什么是线程安全和线程不安全?通俗的说:加锁的就是是线程安全的,不加锁的就是是线程不安全的线程安全线程安全: 就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进...

2018-05-21 18:17:28 113

转载 spring cloud 跟dubbo的对比总结

一 微服务架构的基础框架选择:Spring Cloud还是Dubbo最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务架构。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,Spring Cloud在国内的知名度并不高,在前阵子的求...

2018-05-21 11:03:48 171

转载 2018年初,派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,用来回来这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。先来看下用手机记录的面试材料:一,阿里巴巴面试题二...

2018-05-16 17:34:45 502

转载 Maven利用Profile构建不同环境的部署包

背景介绍,问题所在一个项目里总会有很多配置文件,有配置文件是好事,说明项目灵活,但是有的配置文件需要区分不同的环境,即不同的环境,配置文件里的值会有区别,我们需要根据环境的变化来修改配置文件中的值,这样就很不爽了。我们就遇到了这种情况,公司现在就有四套环境,本机环境(开发人员本机环境)、开发环境(开发阶段,小组内自测用)、测试环境(测试团队用)、生产环境(项目正式上线后的环境)。在这些不同的环境下...

2018-05-16 17:03:47 595

原创 集群/分布式环境下5种共享session处理策略

前言在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会将用...

2018-05-16 16:45:12 6536 1

原创 git常用命令操作

#git初始化 git init#将远程库克隆到本地 git clone git地址#更新远程库最新代码到本地 git pull  提交代码步骤1.将远程库同步到本地 git clone https://git-out.xiaojukeji.com/InternalPlatform_WaiBao/old_pay.git(git地址)2.添加忽略文件在根目录添加.gitignore文件**/targ...

2018-05-16 16:38:33 119

转载 java成长道路必备技能

关于程序员的几个阶段每个程序员、或者说每个工作者都应该有自己的职业规划,如果看到这里的朋友没有自己的职业规划,希望你可以思考一下自己的将来。LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈。LZ认为一名程序员应该有几个阶段(以下时间都算上实习期):第一阶段----三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈...

2018-05-16 16:31:09 320

空空如也

空空如也

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

TA关注的人

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