![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java分布式
文章平均质量分 80
java思维导图666
这个作者很懒,什么都没留下…
展开
-
Spring Boot干货系列:配置文件解析
正文Spring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。接下来,让我们一起来解开配置文件的面纱。注:如果你工程没有这个application.properties,那就在src/main/java...原创 2018-12-18 17:18:16 · 113 阅读 · 0 评论 -
Spring4 + Spring MVC + MyBatis 整合思路
1、Spring框架的搭建这个很简单,只需要web容器中注册org.springframework.web.context.ContextLoaderListener,并指定spring加载配置文件,那么spring容器搭建完成。(当然org.springframework的核心jar包需要引入)当然为了更加易用支持J2EE应用,一般我们还会加上如下:Spring监听HTTP请求事件:...原创 2018-09-19 14:57:50 · 133 阅读 · 0 评论 -
你真的很熟分布式和事务吗?
不想了,我等码农,还是看看怎么来处理分布式系统中的事务这个老大难吧!本文略长,读者需要有一定耐心,如果你是高级码农或者架构师级别,你可以跳过。本文注重实战或者实现,不涉及CAP,略提ACID。本文适合基础分布式程序员:本文会涉及集群中节点的failover和recover问题. 本文会涉及事务及不透明事务的问题. 本文会提到微博和tweeter,并引出一个大数据问题.由于分布式这...原创 2018-09-18 17:29:08 · 107 阅读 · 0 评论 -
Spring Boot & Spring MVC 异常处理的N种方法
默认行为根据Spring Boot官方文档的说法:For machine clients it will produce a JSON response with details of the error, the HTTP status and the exception message. For browser clients there is a ‘whitelabel’ erro...原创 2018-09-18 14:39:12 · 121 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一...原创 2018-09-07 17:19:19 · 132 阅读 · 0 评论 -
Spring:基于注解的Spring MVC(下)
讲了Spring MVC环境搭建、@RequestMapping以及参数绑定,这是Spring MVC中最基础也是最重要的内容,本篇文章继续讲讲Spring MVC中其余的知识点,先从Model开始。前一篇文章比较详细地解读了数据从页面请求到服务器后台的一些细节,那么下一个要解决的问题就是数据如何从后台再次传回前台,答案就是这里要说的Model,关于Model在写例子之前我特别先说明三点:...原创 2018-09-07 15:15:41 · 157 阅读 · 0 评论 -
Spring:基于注解的Spring MVC(上)
Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来说,Spring MVC和Structs、Structs2非常类似。Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的hander mappin...原创 2018-09-07 15:10:43 · 271 阅读 · 0 评论 -
Java 线程池详解
构造一个线程池为什么需要几个参数?如果避免线程池出现OOM?Runnable和Callable的区别是什么?本文将对这些问题一一解答,同时还将给出使用线程池的常见场景和代码片段。基础知识Executors创建线程池Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedThreadPool(int nThreads),但是便...原创 2018-09-17 16:52:04 · 125 阅读 · 0 评论 -
javaScript之原形与原形链
万物皆对象在JavaScript中除值类型之外,其他的都是对象,为了说明这点,我们举几个例子我们可以使用typeof来做类型判断typeof a; // undefinedtypeof 1; // numbertypeof 'wclimb'; // stringtypeof true; // boolea...原创 2018-09-17 15:52:23 · 221 阅读 · 0 评论 -
一位资深程序员大牛给予Java初学者的学习建议
这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。 在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Jav...原创 2018-09-06 15:41:01 · 199 阅读 · 0 评论 -
Java面试前需要了解的东西P8带你们进入面试大世界
一、前言只有光头才能变强回顾前面:广州三本找Java实习经历上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题)。我在面试前针对Java基础也花了不少的时间,期间也将自己写过的博文粗略地刷了一遍,同时也在网上找了不少比较好的资料(部分是没看完的)。在这里给大家分享一下~~~这是我刷完自己写过的笔记写的一篇文章导航,针对于PC端的:https://zho...原创 2018-09-19 16:12:50 · 219 阅读 · 0 评论 -
Redis 和 Memcached 的区别
说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,即master-slave模式的数据备份;redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似...原创 2018-09-25 20:13:10 · 99 阅读 · 0 评论 -
拯救 Java Code Style 强迫症
这篇文章缘起于上一个持续交付的咨询项目,当时正在指导客户团队的Java工程师做Code Review,发现一个很有意思的现象:有一位工程师对Code Style特别在意,所以在Code Review的大部分时间中都是该工程师在指出哪里哪里的格式不对,但是团队并没有找到改进方法,每次的结论都是“下次我注意一点。”我挺欣赏这位工程师对Code Style的认真态度,所以就萌生了“怎么拯救Code St...原创 2018-09-26 16:11:38 · 1830 阅读 · 0 评论 -
Java系统程序员修炼之道
Java系统程序员修炼之道 从2002开始接触Java学会HelloWorld这么经典的程序到如今不知不觉已经十年啦,十年中亲耳听到过不少大牛的演讲,见到过项目中的神人在键盘上运指如飞的编程速度,当时就被震撼了。当编程越来越成体力活,我们还能有自己的思想,还能修炼为Java系统级别的程序员嘛?学习与修炼以下知识与技能,帮你早日达成愿望。 一:Java语言学习 ...原创 2018-09-29 15:10:07 · 289 阅读 · 0 评论 -
ml与java代码相互装换的工具类
这是一个java操作xml文件的工具类,最大的亮点在于能够通过工具类直接生成xml同样层次结构的java代码,也就是说,只要你定义好了xml的模板,就能一键生成java代码。省下了自己再使用工具类写代码的时间,极大得提高了效率。首先来看看工具类代码package com.lfq.createXml;import java.io.ByteArrayInputStream;import...原创 2018-10-08 14:35:13 · 155 阅读 · 0 评论 -
Spring思维导图,让spring不再难懂(一)
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是Spring仍然可以和其他的框架无缝整合。1、Spring特征.pngSping架构Spring框架是分模块存在,...原创 2018-10-06 20:56:00 · 1851 阅读 · 0 评论 -
单点登录原理与简单实现
一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏...原创 2018-09-22 17:41:00 · 177 阅读 · 0 评论 -
Jodd 一 款优雅的 Java 工具集
BeanUtil 最快的bean处理库。一个简单的JavaBean: 1 2 3 4 5 6 7 8 9 10 11 /** * 拿客 * 网站:www.coderknock.com * QQ群:213732117 * 三产 创建于 2016年...原创 2018-09-22 17:39:31 · 942 阅读 · 0 评论 -
mybatis-plus思维导图,让mybatis-plus不再难懂
mybatisMybatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。回顾mybatis...原创 2018-10-05 15:10:29 · 141 阅读 · 0 评论 -
敏捷开发思维导图,让java不再难懂
0、先来一张导图image1、概念简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷最大的特色是迭代式开发。2、优势image1、敏...原创 2018-10-05 15:00:26 · 293 阅读 · 0 评论 -
Java Thread wait、notify与notifyAll
正文Java的Object类包含了三个final方法,允许线程就资源的锁定状态进行通信。这三个方法分别是:wait(),notify(),notifyAll(),今天来了解一下这三个方法。在任何对象上调用这些方法的当前线程应具有对象监视器(锁住了一个对象,就是获得对象相关联的监视器),否则会抛出java.lang.IllegalMonitorStateException异常。 w...原创 2018-09-27 16:51:00 · 171 阅读 · 0 评论 -
Spring使用Spring的AbstractRoutingDataSource实现多数据源切换
最近因为项目需要在做两个项目间数据同步的需求,具体是项目1的数据通过消息队列同步到项目2中,因为这个更新操作还涉及到更新多个库的数据,所以就需要多数据源切换的操作。下面就讲讲在Spring中如何进行数据源切换。这里是使用AbstractRoutingDataSource类来完成具体的操作,AbstractRoutingDataSource是Spring2.0后增加的。 实现数据源切换的...原创 2018-10-11 14:31:02 · 184 阅读 · 0 评论 -
Spring Cloud Config对特殊字符加密的处理
在微服务架构中,我们通常都会采用DevOps的组织方式来降低因团队间沟通造成的巨大成本,以加速微服务应用的交付能力。这就使得原本由运维团队控制的线上信息将交由微服务所属组织的成员自行维护,其中将会包括大量的敏感信息,比如:数据库的账户与密码等。很显然,如果我们直接将敏感信息以明文的方式存储于微服务应用的配置文件中是非常危险的。针对这个问题,Spring Cloud Config提供了对属性进行加密...原创 2018-09-06 14:25:57 · 648 阅读 · 0 评论 -
那些年看的一些书籍JAVA spring
书名不分时间顺序:《java编程思想4》《javaWeb技术整合应用与项目实践》《java特种兵》《深入浅出JDK6.0》《深入浅出mysql:数据库开发、优化与管理维护》《深入剖析tomcat》《spring揭秘》《struts2.1权威指南:基于WebWork核心的MVC开发》《精通java网络编程》《spring技术内幕:深入解析spring架构与设计...原创 2018-09-06 14:03:06 · 306 阅读 · 0 评论 -
马云:如何组建自己的技术团队
创业道路上,我常常把马云当作我的精神领袖,大家看到我平时不管是项目路演还是做创业分享都非常有激情,其实这是我看了很多鸡汤后的表现。相信也有很多人和我一样,但创业光有满怀激情是不够的,创业做事还是要接地气才行。最近我发现“技术合伙人”这个关键词非常热,经常在微信群、朋友圈及各种第三方创业社交平台都看到某某项目缺技术合伙人,由于个人职业原因,我经常会通过对方留下的联系方式与其取得沟通的机会。在...原创 2018-09-09 15:34:19 · 1497 阅读 · 0 评论 -
IT 工程师的自我管理
工作多年,我们见识到了很多厉害的人,他们可以兼顾家庭和工作,合理安排自己的事务和时间,能冷静的处理突发事件且理智的做出决策,把所有事情安排的妥妥当当。最初我以为这种能力来源于性格、情商甚至是天赋,因为并没有看到任何一本书来教人们做到这些,直到我把视角从普通的生活移到工作中,才发现原来一个能把生活安排的井井有条的人,在工作中往往也是优秀的管理者。管理项目或公司和管理生活有很多共通之处。有些人...原创 2018-08-24 14:00:17 · 433 阅读 · 0 评论 -
浅谈软件项目规模估计——怎么估?
做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。—— 侯世达,哥德尔、埃舍尔、巴赫周三的下午,我像平常一样,写着代码听着歌,突然从天而降一份莫名其妙的故事列表,说让我给个人天,用来投标用。作为一个技术异常牛逼的高端程序员,这对我来说岂不是 A Piece Of Shit…哦不,Cake。拿着列表,打眼一看就知道是做什么 — 又是个审批流系统。注册、登录、忘记密码...原创 2018-08-23 15:48:21 · 5487 阅读 · 0 评论 -
从零开始写一个抖音App——Apt代码生成技术、gradle插件开发与protocol协议
1.讨论——总结前两周评论中有意义的讨论并给予我的解答 2.mvps代码生成原理——将上周的 mvps 架构的代码生成原理进行解析 3.开发一款gradle插件——从 mvps 的代码引出 gradle 插件的开发 4.高效的跨语言数据协议protocol——protocol 数据协议在 android 项目中的使用以及优势一、讨论在放上讨论之前我需要重申本项目的意义、初衷和前提:...转载 2018-08-23 15:34:23 · 3601 阅读 · 0 评论 -
大佬分享:180+道Java面试题目!含答案解析!
大厂常见问题写视频点播网站文件下载接口基础变量/数组写出模拟maven导入包过程写出新变脸内存分配,模拟垃圾回收过程50个白球50个红球,两个盒子,怎么放让人随机在一个盒子里抽到红球概率最高n个数里取两个和为s的数java数据结构HashMap原理自定义类型可以作为Key么?java内存模型知道的排序算法快排的优化Java多线程实现方式Java线...原创 2018-08-27 16:29:13 · 927 阅读 · 0 评论 -
Spring Boot学习记录(一)–环境搭建
最近趁着下班闲时间学习spring-boot,记录下学习历程,因为要做项目,所以是用到什么了就去学什么,所以看起来可能有点乱,不过能用到的东西都会写进去,最后打算实战一个API管理平台,下面开始环境配置.1.工程结构使用maven建立一个普通结构,因为spring-boot内嵌tomcat,所以打包只需要打包成jar就可以直接运行,所以并不像以前那样建立WEB程序了,目录如下,类可以先建立...原创 2018-08-27 13:59:23 · 108 阅读 · 0 评论 -
p7大牛给大家分享Java从分布式计算到分布式训练
对计算机来讲,所谓的计算,不过是将存储在各个地方的数据通过数据总线进行传输,然后经过算术逻辑单元执行一系列预设好的规则,最终再将输出写入到某个位置。在计算能力有限、存储成本偏高的情况下,就需要利用好计算机的资源,让它的计算能力发挥出最大的价值,所以在编程初期用指令直接操作硬件,例如汇编语言中常见的操纵寄存器,本质上都是为了减少数据传输的时间,充分利用CPU的计算能力,避免因为数据的长时间传输导...原创 2018-08-22 16:57:47 · 2324 阅读 · 0 评论 -
拯救 Java Code Style 强迫症
有一位工程师对Code Style特别在意,所以在Code Review的大部分时间中都是该工程师在指出哪里哪里的格式不对,但是团队并没有找到改进方法,每次的结论都是“下次我注意一点。”我挺欣赏这位工程师对Code Style的认真态度,所以就萌生了“怎么拯救Code Style强迫症”的想法。要点Code Style不是个人喜好问题,它会影响工作效率,团队应将其当做工程实践予以重视。 ...原创 2018-08-22 14:40:01 · 3431 阅读 · 0 评论 -
2018 年 Java 程序员必读的十本书
大家好,如果你是一名 Java 程序员,正在考虑 2018 年读什么书,那么这篇文章正适合你。本文中,我将分享 10 本有关 Java、Spring 及其他相关技术的书籍。 这里面既有适合经验丰富的 Java 程序员的书,它们介绍了架构、云开发、微服务、Java 9、Spring 5,以及用于提高生产效率的 Kotlin。同时也照顾到了初级的、缺乏经验的、或正打算 2018 年开始入门 Java ...原创 2018-08-22 14:31:45 · 446 阅读 · 0 评论 -
请停止结对编程
这是一个风和日丽的星期天下午,Ben 和 Martin 本应该在 Costa 咖啡馆喝一杯下午茶,一起聊聊周末的计划,然而 PM 的一个微信通知打乱了这一切。原来产品出现了一个bug需要紧急修复,下班之前必须要搞定。两人收到消息疾步走回到岗位,也没了心情去喝刚泡好的咖啡,连忙打开邮箱查看问题报告。开始Ben:看来这不是一个很大的问题,就是处理一个来自于远端服务的异常。现在的情况是BF...原创 2018-08-26 14:20:02 · 2328 阅读 · 0 评论 -
P8写给自学者的入门指南
在 IT 工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。让我们从一个故事说起…故事某君在一个普通大学读着自己不喜欢的专业,以打游戏、刷段子和睡觉度日,突然有一天想学点什么。学编程好像挺酷,而且听说IT行业充满了机会,没准一不小心就和大佬一起“改变世界”了。那么第一个问题来了,...原创 2018-08-24 14:31:13 · 421 阅读 · 0 评论 -
登录工程:现代Web应用中的身份验证技术
注:本文基于阿里巴巴技术手册的1.0.2版本编写2016年底,阿里巴巴公开了其在内部使用的Java编程规范。随后进行了几次版本修订,笔者当时看到的版本为v1.0.2版。下载地址可以在其官方社区——云栖社区找到。笔者作为一名有数年工作经验的Java程序员,仔细研读了这份手册,觉得是一份不可多得的好材料。正如阿里巴巴在发布时所说,“阿里巴巴集团推出的《阿里巴巴Java开发手册(正式版)》是公司...原创 2018-08-24 14:51:55 · 197 阅读 · 0 评论 -
0个习惯助你成为一名优秀的程序员
当谈到编程时,很多人应该都有听过10x程序员的说法。 据说一个10x程序员的效率大约是其他程序员的10倍。这是一个有争议的话题,无论你选择相信10x程序员,还是认为这十分可笑,下面的10个习惯可以在一定程度上助你成为一名势不可挡的优秀程序员。1、积极使用搜索工具作为开发人员,你需要了解如何利用搜索解惑,查看其他人对你正在研究的主题所讨论的话题和内容,并将学到的知识应用于手头的项目。...原创 2018-08-21 11:11:30 · 255 阅读 · 0 评论 -
什么是嵌入式开发?嵌入式是什么?初学者必看。
嵌入式技术是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统技术。它最初起源于单片机技术, 是各类数字化的电子、机电产品的核心,主要用于实现对硬件设备的控制、监视或管理等功能。进入21世纪计算机应用的各行各业中90%左右的开发将涉及到嵌入式开发。全球嵌入式软件市场年增长率超过12.5%,嵌入式系统带来的工业年产值达一万亿美...原创 2018-09-09 15:09:42 · 15534 阅读 · 2 评论 -
Java|Map、List与Set的区别
一、前言Java集合主要分为三种类型:Set(集)、List(列表)和Map(映射)。先简单说下集合和数组的区别:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。所有的JAVA集合都位于java.util包中。 JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。再来说说集合产生的原因:世间...原创 2018-09-03 21:21:30 · 151 阅读 · 0 评论 -
使用 Docker 搭建 Java Web 运行环境
Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了。作为一名 Java 程序员,我们是时候一起把 Docker 学起来了!本文会对虚拟化技术与 Docker 容器技术做一个对比,然后引出一些 Docker 的名词...原创 2018-09-11 15:21:42 · 147 阅读 · 0 评论