JAVA技术提高
夕阳雨晴
用文字整理生命,让过程更精彩。慎重认真,孜孜追求,在平淡中享受人生,在困苦中感悟生活。
展开
-
Spring boot + thymeleaf + Shiro 会话过期返回登录界面片段之解决方案
解决方案的主导思想是:检测当会话过期时,判断是否为ajax请求,若是ajax请求,则将该url请求结果的状态置为401,并且不保存此次访问请求的url,当前端检测到访问结果为401时,跳转至登录界面,用户可顺利进行账户密码的输入并完成登录。在此主导思想下将会遇到以下几个问题:1.前端ajax请求完成后的统一处理问题;2.后端会话过期的检测问题;3.对封装后的ajax进行请求完成后的统一处理问题;4.对临时添加的界面元素执行ajax请求的统一处理问题;5.在spring boot框架下对shiro原创 2016-12-13 19:33:31 · 11337 阅读 · 0 评论 -
zhihu-spider之Feign——zhihu-spider开源项目使用技术详解(其六)
zhihu-spider之Feign——zhihu-spider开源项目使用技术详解(其六)1.Feign简介 Feign是一个声明式的Web服务客户端这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud增加了对Spring MVC注释的支持,并使原创 2017-08-04 20:03:39 · 1606 阅读 · 0 评论 -
zhihu-spider之Hystrix——zhihu-spider开源项目使用技术详解(其七)
zhihu-spider之Hystrix——zhihu-spider开源项目使用技术详解(其七)1.Feign简介 Netflix的创造了一个调用的库Hystrix实现了断路器图案。在微服务架构中,通常有多层服务调用。 较低级别的服务中的服务故障可能导致用户级联故障。当对特定服务的呼叫达到一定阈值时(Hystrix中的默认值为5秒内的20次故障),电路打开,不进行通话。在错误和开路的情况下,原创 2017-08-04 21:21:58 · 1470 阅读 · 2 评论 -
spring cloud - API Gateway
spring cloud API Gateway 通过API Gateway,可以统一向外部系统提供REST API。Spring Cloud中使用Zuul作为API Gateway。Zuul提供了动态路由、监控、回退、安全等功能。eureka+Zuul配置和使用(1).准备工作// 为了更贴近生产,我们首先配置Host127.0.0.1 gateway// 启动服务:microservice原创 2017-08-26 08:49:13 · 5427 阅读 · 0 评论 -
Java经典面试题(其三)——JVM原理和调优
Java经典面试题(其三)——JVM原理和调优一、什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译转载 2017-09-16 11:08:59 · 63438 阅读 · 7 评论 -
Java经典面试题(其二)——Java线程同步方式和线程本地变量
Java线程同步方式和线程本地变量——Java经典面试题(其二)实现线程同步的几种方式1.为何要使用同步? Java允许多线程并发控制,当多个线程同时操作一个可共享资源变量时(如数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。2.同步的方式1>.同步方式 即有synchronized关转载 2017-09-08 20:14:39 · 2800 阅读 · 0 评论 -
Java经典面试题(其一)——Java异常和克隆
Java异常和克隆——Java经典面试题(其一)谈一谈Java中的Error和Exception1.Error和Exception的联系 继承关系:Error和Exception都是继承于Throwable,RuntimeException继承自Exception。 Error和RuntimeExceptime及其子类被称为未检查异常(Unchecked exception),其它异常转载 2017-09-08 20:13:14 · 3272 阅读 · 0 评论 -
Spring Boot Starter的面试题
Spring Boot Starter的面试题1.常见的starter会包几个方面的内容?分别是什么?// 常见的starter会包括下面四个方面的内容// 自动配置文件,根据classpath是否存在指定的类来决定是否要执行该功能的自动配置。// spring.factories,非常重要,指导Spring Boot找到指定的自动配置文件。// endpoint:可以理解...原创 2017-10-08 18:21:33 · 24715 阅读 · 2 评论 -
J2EE技术常见的面试题
1.Spring都有哪些特点?为什么要使用Spring?2.Hibernate的工作原理是什么?为什么要使用Hibernate?3.Hibernate中使用二级缓存时要注意什么?4.Hibernate有哪些主键?5.Hibernate有几种查询数据的方式?6.如果让你设计一个数据库连接池,你可能会考虑到哪些方面的问题?7.在JDK1.4中引入了一个NIO的类库,使得Java涉及IO的操作拥有阻原创 2017-12-24 12:30:47 · 1501 阅读 · 0 评论 -
Java中的Web设计
Java中的Web设计1.forward和redirect的区别是什么?// 他们的区别如下:// 1. forward是服务器请求资源,服务器直接访问目标地址的URL,把URL的响应内容读取过来,然后把这些内容发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。// 2. redirect就是服务端根据逻辑发送一个状态码,告诉浏览器重新去请求事先访问过的那个地原创 2017-12-17 14:58:55 · 934 阅读 · 0 评论 -
JVM调优再学习
JVM调优再学习堆大小设置// JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bit还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。// 32位系统下,一般限制在1.5G~2G;64位操作系统对内存无限制。// 有研发人员称:在windows sever 2003系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。// /...原创 2019-05-19 09:49:24 · 503 阅读 · 0 评论 -
Dubbo源码学习基础
dubbo源码学习基础Dubbo源码学习基础Java RMI 基本概念在 Dubbo 中使用注解自定义容错策略正确加载MyFilter类Dubbo可扩展机制实战Dubbo的SPI机制自定义一个LoadBalance扩展Dubbo 外部化配置(Externalized Configuration)Spring应用快速集成Dubbo + Hystrix生成dubbo集成spring boot的应用当D...转载 2019-07-21 09:42:34 · 611 阅读 · 0 评论 -
spring cloud - 配置中心
spring cloud 配置中心配置中心的搭建和简单使用(1).为了更贴近生产,我们首先配置Host127.0.0.1 config-server(2).准备个配置文件// 配置文件,命名规范为项目名称-环境名称.properties,本文在git仓库:https://github.com/eacdy/spring-cloud-study/中,新建目录config-repo,创建以下几个文件原创 2017-08-11 19:19:51 · 1062 阅读 · 0 评论 -
spring cloud - 服务发现
spring cloud 服务发现Eureka的高可用(1).添加主机名127.0.0.1 peer1 peer2(2).修改application.yml---spring: profiles: peer1 # 指定profile=peer1server: port: 8761eureka: instance:原创 2017-08-11 19:13:10 · 579 阅读 · 0 评论 -
zhihu-spider之Swagger——zhihu-spider开源项目使用技术详解(其二)
zhihu-spider之Swagger——zhihu-spider开源项目使用技术详解(其二)1.Swagger简介 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件,它能够允许我们在一个HTML5 Web页面中,对API进行文档化和交互。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful风格的 Web 服务。总体目标是使客户端和原创 2017-07-01 18:24:51 · 2134 阅读 · 0 评论 -
Spring boot + thymeleaf + Security会话过期返回登录界面片段之解决方案
解决方案的主导思想是:检测当会话过期时,判断是否为ajax请求,若是ajax请求,则将该url请求结果的状态置为401,并且不保存此次访问请求的url,当前端检测到访问结果为401时,跳转至登录界面,用户可顺利进行账户密码的输入并完成登录。在此主导思想下将会遇到以下几个问题:1.前端ajax请求完成后的统一处理问题;2.后端会话过期的检测问题;3.对封装后的ajax进行请求完成后的统一处理问题;4.对临时添加的界面元素执行ajax请求的统一处理问题;5.在spring boot框架下原创 2016-12-18 15:51:26 · 5286 阅读 · 0 评论 -
Spring boot + Spring Security + Thymeleaf 认证失败返回错误信息
Spring boot +Spring Security + Thymeleaf 认证失败返回错误信息 经过验证,通过这样设置,完美的解决了我遇到的问题,到现在,我仍没有明白设置true的含义,望知道的读者可以告诉小编。小编来总结哈,在Spring boot +Spring Security + Thymeleaf框架下,通过用户名/密码表单提交,在登录界面获取异常信息的步骤,主要有以下两点: 其一:将登录失败的url设置为”/login?error=true”(即后缀带?error=true),使前原创 2017-03-04 16:46:20 · 24741 阅读 · 18 评论 -
BeanMapper对象拷贝
BeanMapper对象拷贝import java.util.Collection;import java.util.List;import org.dozer.DozerBeanMapper;import com.google.common.collect.Lists;/*** 简单封装Dozer, 实现深度转换BeanBean的Mapper.原创 2017-03-25 21:25:02 · 7911 阅读 · 0 评论 -
灰度发布集群服务进行生产环境的日志打印调试
灰度发布集群服务进行生产环境的日志打印调试 情景模拟:当项目发布之后,某些功能在经过某次确定的操作【1】之后,使另一操作【2】不能正常使用。而当时的源代码由于技术升级,恢复比较困难。在此情景下,需要在线调试。当没有执行操作【1】时,打印操作【2】在执行过程中关键对象的属性值日志信息;当执行了操作【1】时,打印操作【2】在执行过程中关键对象的属性值日志信息。系统环境: Centos7、Docker原创 2017-04-01 19:28:56 · 1196 阅读 · 0 评论 -
Spring Boot 支持多种外部配置方式
Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置。这些方式优先级如下:1.命令行参数(1).通过java -jar app.jar –name=”Spring” –server.port=9090方式来传递参数。参数用–xxx=xxx的形式传递。(2).可以使用的参数可以原创 2017-05-13 01:33:34 · 6138 阅读 · 0 评论 -
Spring Boot+Docker项目cacubd-server-collector的部署运行
springboot+docker项目的部署运行实例原创 2017-06-04 23:41:59 · 1134 阅读 · 0 评论 -
zhihu-spider之Lombok——zhihu-spider开源项目使用技术详解(其一)
zhihu-spider之Lombok——zhihu-spider开源项目使用技术详解(其一)1.Lombok简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。 官方地址:https://projectlombok.org/ github地址:https://github.com/原创 2017-06-16 22:32:00 · 2908 阅读 · 0 评论 -
zhihu-spider开源项目的README.md
搭建了知乎信息中转持久化的数据流平台,并提供HTML+JSON和RabbitMQ等消息接口,从而使有兴趣的伙伴开发并使用其熟悉的语言环境,实现信息爬取,从而持久化到此项目中来,完成最开始的开发目标。原创 2017-06-10 22:12:46 · 1313 阅读 · 0 评论 -
zhihu-spider之Druid——zhihu-spider开源项目使用技术详解(其三)
zhihu-spider之Druid——zhihu-spider开源项目使用技术详解(其三)1.Druid简介Druid是一个JDBC组件,它包括三部分:DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。SQLParser Druid可以做什么?可以监控数据库访问性能,Druid内置原创 2017-07-05 22:41:48 · 1928 阅读 · 0 评论 -
zhihu-spider之Mybatis——zhihu-spider开源项目使用技术详解(其四)
zhihu-spider之Mybatis——zhihu-spider开源项目使用技术详解(其四)1.Mybatis简介 MyBatis起源于apache的一个开源项目iBatis。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代原创 2017-07-14 23:44:48 · 2294 阅读 · 0 评论 -
zhihu-spider之RabbitMQ——zhihu-spider开源项目使用技术详解(其五)
zhihu-spider之RabbitMQ——zhihu-spider开源项目使用技术详解(其五)1.RabbitMQ简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中原创 2017-07-20 19:35:05 · 2302 阅读 · 0 评论 -
JDK源码之-java.lang.Object
JDK源码之-java.lang.Objectpublic final native Class<?> getClass();public native int hashCode();public boolean equals(Object obj) { return (this == obj);}protected native Object clone() ...原创 2019-09-28 09:39:39 · 665 阅读 · 0 评论