java
java中高级架构师
这个作者很懒,什么都没留下…
展开
-
java程序员,架构上必须掌握的几点技术?
关于学习架构,必须会的几点技术1. java反射技术2. xml文件处理3. properties属性文件处理4. 线程安全机制5. annocation注解6. 设计模式7. 代理机制(aop)8. serlvet基础(过滤器等等)几样比较实用的技术:1. 模板语言freemarker2. ognl3. gson json工具类大家对于几大框架望而生畏,实际上只要明白他...原创 2019-03-19 17:00:01 · 384 阅读 · 0 评论 -
轻松搞定AOP面试(外加几个面试题),从Spring热插件实战开始
今天有一哥们去面试 ,哥们说自己会ssh面试官就问了几个spring的概念性的问题 ,哥们平时只专注于写代码,回来后一脸的无奈本人总结了一些ssh常见的面试题 例举如下 强调在回答的时候不要光回答概念,要思维扩散性的讲些相关的东西spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦2.可以使用容易提供的众多服务,如事务管理,消息服务等3.容器提供单例模式支持...原创 2019-03-19 22:20:34 · 994 阅读 · 0 评论 -
Java注解与反射原理说明
一 点睛注解若想发挥更大作用,还需借助反射机制之力。通过反射,可以取得一个方法上声明的注解的全部内容。一般有两种需求:1 取得方法中全部的注解,通过调用getAnnotations来实现。2 判断操作是否是指定注解,通过调用getAnnotation来实现。下面从源码角度来说明怎样获取这些注解信息。二 源码导读——取得方法中全部的注解public class AccessibleOb...原创 2019-03-20 20:59:33 · 922 阅读 · 0 评论 -
Java设计模式—观察者模式详解
这篇文章主要介绍了Java设计模式—观察者模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧观察者模式包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,...原创 2019-03-20 21:06:17 · 140 阅读 · 0 评论 -
浅谈Java中replace与replaceAll区别
这篇文章主要介绍了Java中replace与replaceAll区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧开门见山1.java中replace API:replace(char oldChar, char newChar):寓意为:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldC...原创 2019-03-20 21:11:38 · 970 阅读 · 0 评论 -
详解Java设计模式——迭代器模式
这篇文章主要介绍了Java设计模式——迭代器模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧迭代子模式顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们...原创 2019-03-20 21:18:28 · 210 阅读 · 0 评论 -
浅谈Java之终止继承:Final类和Fianl方法
这篇文章主要介绍了Java之终止继承:Final类和Fianl方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧前言关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能。Final类当关键字final用来修饰类时,其含义是该类不能再派生子类,换句...原创 2019-03-20 21:24:58 · 376 阅读 · 0 评论 -
浅谈Java引用和Threadlocal的那些事
这篇文章主要介绍了Java引用和Threadlocal的那些事,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧1 背景某一天在某一个群里面的某个群友突然提出了一个问题:"threadlocal的key是虚引用,那么在threadlocal.get()的时候,发生GC之后,key是否是null?"屏幕前的你可以好好的想想这个问题,在这里我先卖个关子,先讲讲Java中引...原创 2019-03-20 22:16:32 · 116 阅读 · 0 评论 -
Spring Cloud原理详解
今天小编就为大家分享一篇关于Spring Cloud原理详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧之前一直在看《Spring Cloud微服务实战》,最近又看了架构笔记的《拜托!面试请不要再问我Spring Cloud底层原理》,对Spring Cloud的主要组件的原理有了更深的理解,特地做一下总结一、Spring Cloud核心组件:Eu...原创 2019-03-21 15:38:42 · 334 阅读 · 0 评论 -
Java面向对象选择题总结归纳
把最近听的写的一些题目做下笔记!1.下列程序的执行,说法错误的是 ( ABC )public class MultiCatch { public static void main(String args[]){ try{ int a=args.length; int b=42/a; //10行 int c[]={1}; c[4...原创 2019-03-21 19:46:21 · 624 阅读 · 0 评论 -
Java中equals与==的用法和区别
背景介绍比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。...原创 2019-03-21 21:46:56 · 158 阅读 · 0 评论 -
Java程序员到底有多少能做大年薪入百万
想要做到年薪100万,首先你自己必须是高水平的程序员!能年薪100万的程序员至少自身有以下特征:工作年限长,经验丰富他们的共同特点是:N 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。这样的程序员无论是去 BAT 还是去创业公司,都能拿到 100 万年薪以上的 offer。虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛...原创 2019-03-21 22:45:12 · 3828 阅读 · 0 评论 -
Java的异常类型总结
Java的设计目的是让程序员有机会设计一个没有错误的应用程序。当应用程序与资源或用户交互时,程序员可能会知道一些异常,这些异常是可以处理的。不幸的是,也有程序员无法控制或简单忽略的例外情况。简而言之,并不是所有的异常都是相同的,因此程序员需要考虑几种类型。异常是导致程序无法在其预期的执行中运行的事件。异常有三种类型——检查异常、错误和运行时异常。The Checked Exception(检查...原创 2019-03-25 14:11:32 · 336 阅读 · 0 评论 -
Java计算器核心算法代码实现
在进行一个表达式的计算时,先将表达式分割成数字和字符串然后利用出入栈将分割后的表达式进行中缀转后缀,再将后缀表达式进行计算得到结果(思想在上一篇写过)现在贴下Java语言的代码实现。(学习Java时间不长所以可能会有很多不足的地方,我会改进也欢迎大神可以给我一些意见和建议~谢谢啦)我将这部分分成三个方法完成功能,并在getResult方法调用(getResult方法被主方法调用)private...原创 2019-03-25 14:19:06 · 1986 阅读 · 0 评论 -
Java求质数的几种常用算法分析
本文实例讲述了Java求质数的几种常用算法。分享给大家供大家参考,具体如下:1、根据质数的定义求质数定义:只能被1或者自身整除的自然数(不包括1),称为质数。利用它的定义可以循环判断该数除以比它小的每个自然数(大于1),如果有能被它整除的,则它就不是质数。对应代码是:void printPrime(int n){//判断n是否是质数 boolean isPrime=true;//是否...原创 2019-03-25 14:22:37 · 7646 阅读 · 0 评论 -
重新认识Java的System.in
重新认识 Java 的 System.in以前也写过不少命令行的程序,处理文件时总需要通过参数指定路径,直到今天看资料时发现了一种我自己从来没用过的方式。这种方式让我重新认识了System.in。下面是一个简单的Cat 命令的例子,这里提供了-n参数用于配置是否显示行号。import java.io.BufferedReader;import java.io.IOException;im...原创 2019-03-25 14:28:48 · 1220 阅读 · 0 评论 -
Java中如何实现不可变Map详解
前言有时最好不允许修改 java.util.Map, 例如跨线程共享只读数据。为此,我们可以使用Unmodifiable Map或Immutable Map。在这个快速教程中,我们将看到它们之间的区别。然后,我们将介绍可以创建不可变Map的各种方法。下面话不多说了,来一起看看详细的介绍吧不可修改与不可变Unmodifiable Map其实是一个可以修改的map的包装器,不允许直接修改它...原创 2019-03-25 14:39:51 · 1954 阅读 · 0 评论 -
浅谈JAVA工作流的优雅实现方式
今天查找线上问题,看到一个让我脑洞大开的工作流实现方式。以前用过责任链模式,也用过模板模式实现类工作流的方式,但是对比这个工具,逊色不少,不卖关子了,就是Apache Commons Chain,它是Command模式与责任链模式的综合体。1、Apache Commons Chain 中的角色有:chain、context、command。2、在我们订单系统有这样的业务,就是退票的时候,会根...原创 2019-03-25 14:46:01 · 12938 阅读 · 2 评论 -
Java开发SSM框架微信支付的实现
微信小程序的Java支付开发一直是一块坑,网上的教程也是琳琅满目。笔者六月的时候接触到了微信的小程序开发摸到了微信支付方面的东西,腾讯的官方文档也是一言难尽很多地方看不懂,而且官方也没有提供Java的示范导致Java做微信支付不得不自己踩坑。现在我把自己微信支付开发的步骤和代码都在下面展示出来,希望有没有做出来的朋友不要心急跟着我的步骤走就没问题。第一步:首先微信支付的话只能是企业的开发账户才能...原创 2019-03-22 15:08:30 · 700 阅读 · 0 评论 -
Spring boot项目集成Camel FTP的方法示例
1、Spring 中集成camel-ftp近期项目中涉及到定期获取读取并解析ftp服务器上的文件,自己实现ftp-client的有些复杂,因此考虑集成camel-ftp的方式来解决ftp文件的下载问题。自己则专注于文件的解析工作.1.1、POM引用<dependency> <groupId>org.apache.camel</groupId> &l...原创 2019-03-22 15:23:16 · 1799 阅读 · 6 评论 -
Java程序员容易犯的10大低级错误
本文根据java开发人员在编码过程中容易忽视或经常出错的地方进行了整理,总结了十个比较常见的低级错误点,方便大家学习。1、不能用“==”比较两个字符串内容相等。2、 对list做foreach循环时,循环代码中不能修改list的结构。3、 日志和实际情况不一致;捕获异常后没有在日志中记录异常栈。4、 魔鬼数字。5、 空指针异常。6、 数组下标越界。7、 将字符串转换为数字时没有捕获N...原创 2019-03-22 16:24:36 · 321 阅读 · 0 评论 -
比较全面的中级Java面试题
什么是线程死锁?死锁如何产生?如何避免线程死锁?死锁的介绍:线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便占有了资源,直到它退出该代码块或者调用wait方法,才释放资源,在此期间,其他线程将不能进入该代码块。当线程互相持有对方所需要的资源时,会互相等待对方释放资源,如果线程都不主动释放所占有...原创 2019-03-29 16:23:50 · 959 阅读 · 0 评论 -
Java并发编程包中atomic的实现原理示例详解
线程安全:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协调,这个类都能表现出正确的行为,那么就称这个类时线程安全的。线程安全主要体现在以下三个方面:原子性:提供了互斥访问,同一时刻只能有一个线程对它进行操作可见性:一个线程对主内存的修改可以及时的被其他线程观察到有序性:一个线程观察其他线程中的指令执行顺序,由于指...原创 2019-03-22 19:45:12 · 214 阅读 · 0 评论 -
从一道面试题看你对java的理解程度
这篇文章主要给大家介绍了关于如何从一道面试题看你对java的理解程度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值简介最近看到一篇文章,关于一道面试题,先看一下题目,如下:public static void main(String[] args) { Integer a = 1; Integer b = 2; System.out.printf...原创 2019-03-22 22:26:51 · 156 阅读 · 0 评论 -
十道Java笔试题,你能答对几道?
1、Spring DAO 中最常用的类是()A,JdbcTemplate ,SimpleJdbcTemplateB,SimpleJdbcInsert,SimpleJdbcProcedureC,SimpleJdbcInsert ,SimpleJdbcStoredProcD,SimpleJdbcQuery ,SimpleJdbcExec正确答案:A2、Spring AOP 中, 织入(We...原创 2019-03-29 22:04:42 · 438 阅读 · 0 评论 -
Java的单例设计模式详解
1.什么是单例模式生成一个独一无二的,保证任何时刻一个类只有一个实例的模式确保一个类只有一个实例,并提供一个全局访问点可以在需要时才创建对象,避免了全局变量在程序启动时就得创建对象的缺点。2.经典单例模式实现public class MyInstance{ //第一步:私有化构造器,只有类自身才能调用构造器外部类不能够直接new出这个类的实例对象 private MyInstance...原创 2019-03-26 14:14:04 · 199 阅读 · 0 评论 -
spring cloud gateway 限流的实现与原理
在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击。常见的限流方式,比如Hystrix适用线程池隔离,超过线程池的负载,走熔断的逻辑。在一般应用服务器中,比如tomcat容器也是通过限制它的线程数来控制并发的;也有通过时间窗口的平均速度来控制流量。常见的限流纬度有比如通过Ip来限流、通过uri来限流、通过用户访问频次来限流...原创 2019-03-26 14:37:54 · 4772 阅读 · 2 评论 -
阿里巴巴spring boot 35道面试题(附答案)
Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。本文精选了三十五个常见的Spring Boot知识点,祝你一臂之力!问题一Spring Boot、Spring MVC 和 Spring 有什么区别?1、SpringSpring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。当...原创 2019-04-03 22:04:42 · 898 阅读 · 0 评论 -
Java利用递归算法实现查询斐波那契数
今天小编就为大家分享一篇关于Java利用递归算法实现查询斐波那契数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧package 斐波那契数;import java.util.Scanner;class 斐波那契数 { public static void main(String[] args) { System.out.println("请输入...原创 2019-03-26 15:40:59 · 680 阅读 · 0 评论 -
深入理解Spring Cache框架
本文是缓存系列第三篇,前两篇分别介绍了 Guava 和 JetCache。前两篇我们讲了 Guava 和 JetCache,它们都是缓存的具体实现,今天给大家分析一下 Spring 框架本身对这些缓存具体实现的支持和融合。使用 Spring Cache 将大大的减少我们的Spring项目中缓存使用的复杂度,提高代码可读性。本文将从以下几个方面来认识Spring Cache框架。背景Sprin...原创 2019-03-26 16:07:47 · 1712 阅读 · 0 评论 -
maven的三种工程pom、jar、war的区别
maven中的三种工程:1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。3.jar工程:将会打包成jar用作jar包使用。以淘淘商城为例:一. pom工程taotao-parent:taotao-parent是整个项目的父工程,它是一个pom工程。用来做整个项目的版本控制,也...原创 2019-04-04 14:17:22 · 244 阅读 · 0 评论 -
阿里巴巴200道Java高端面试题
花了大量时间整理了这套面试题首发10题,绝无仅有,从入门到精通从基础,高级知识点,再到集群,运维,方案…弄明白了这些题可以说可以成为面霸了面试官都得折服,Java学得怎么样,都来检验下吧在此先分享十题,剩余可私聊我免费获取。1、remote 接口和home 接口主要作用?【基础】答:remote 接口定义了业务方法,用于EJB 客户端调用业务方法;home 接口是EJB 工厂用于创建...原创 2019-04-04 14:38:16 · 354 阅读 · 0 评论 -
Java微信退款开发
一、下载证书并导入到系统微信支付接口中,涉及资金回滚的接口会使用到商户证书,包括退款、撤销接口。商家在申请微信支付成功后,可以按照以下路径下载:微信商户平台(pay.weixin.qq.com)–>账户设置–>API安全–>证书下载。下载的时候需要手机验证及登录密码。下载后找到apiclient_cert.p12这个证书,双击导入,导入的时候提示输入密码,这个密码就是商户...原创 2019-04-04 15:20:25 · 10779 阅读 · 2 评论 -
30道初级Java面试题,Java新手必看。
1 、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?hashCode() 方法对应对象整型的 hash 值。它常用于基于 hash 的集合类,如 Hashtable、HashMap、LinkedHashMap等等。它与 equals() 方法关系特别紧密。根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code。2 ...原创 2019-03-30 22:09:43 · 291 阅读 · 0 评论 -
Java 程序员必备的 Intellij IDEA 插件
1. ignore生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写截图:2. lombok支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便截图:3. p3c阿里巴巴出品的java代码规范插件可以扫描整个项目找到不规范的地方 并且大部分可以自动修复4. FindBugs-IDEA检...原创 2019-04-04 16:04:17 · 147 阅读 · 0 评论 -
详解SpringCloud mysql实现配置中心
mysql实现配置中心本公司配置数据的管理是通过mysql进行配置管理,因为已经搭建好了,所以自己动手重新搭建一遍,熟悉整个流程。有关项目源码后期会补上github地址微服务要实现集中管理微服务配置、 不同环境不同配置 、 运行期间也可动态调整 、 配置修改后可以自动更新的需求 ,Spring Cloud Config同时满足了以上要求。一、项目搭建本次主要用三个微服务(1)Eureka...原创 2019-04-04 16:42:57 · 2664 阅读 · 0 评论 -
Java是如何实现平台无关性(跨平台)的?
相信对于很多Java开发来说,在刚刚接触Java语言的时候,就听说过Java是一门跨平台的语言,Java是平台无关性的,这也是Java语言可以迅速崛起并风光无限的一个重要原因。那么,到底什么是平台无关性?Java又是如何实现平台无关性的呢?本文就来简单介绍一下。一,什么是平台无关性平台无关性就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行(Write Once ,Run Anyw...原创 2019-04-04 22:16:26 · 322 阅读 · 0 评论 -
利用Kotlin + Spring Boot实现后端开发
前言Spring官方最近宣布,将在Spring Framework 5.0版本中正式支持Kotlin语言。这意味着Spring Boot 2.x版本将为Kotlin提供一流的支持。这并不会令人意外,因为Pivotal团队以广泛接纳JVM语言(如Scala和Groovy)而闻名。Kotlin 是一个基于 JVM 的编程语言,它的简洁、便利早已不言而喻。Kotlin 能够胜任 Java 做的...原创 2019-03-27 15:16:53 · 6589 阅读 · 1 评论 -
Mybaits通用的10种写法总结大全
前言MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。用来循环容器的标签forEach,查...原创 2019-03-27 15:27:52 · 182 阅读 · 0 评论 -
Java Clone深拷贝与浅拷贝的两种实现方法
1.首先,你要知道怎么实现克隆:实现Cloneable接口,在bean里面重写clone()方法,权限为public。2.其次,你要大概知道什么是地址传递,什么是值传递。3.最后,你要知道你为什么使用这个clone方法。先看第一条,简单的克隆代码的实现。这个也就是我们在没了解清楚这个Java的clone的时候,会出现的问题。看完代码,我再说明这个时候的问题。先看我要克隆的学生bean的代...原创 2019-03-27 16:26:40 · 824 阅读 · 0 评论