技术总结
文章平均质量分 51
XT4625
程序员
展开
-
【多级分销,如何更有效的查找上级/下级】
多级分销,如何更有效的查找上级/下级原创 2022-07-15 17:25:09 · 422 阅读 · 0 评论 -
Spring Boot 配置文件bootstrap和application的加载顺序
1. 相同目录优先级bootstrap.properties/yml >>bootstrap-{profile}.properties/yml>>application.properties/yml>>application-{profile}.properties/yml2.不同目录优先级在不指定要被加载文件时,默认的加载顺序:由里向外加载,所以最...原创 2019-12-27 17:24:51 · 2675 阅读 · 0 评论 -
格式化后端输出JSON内容(比如日期、时间、枚举等等)
/** * 格式化输出内容,比如日期、时间、枚举等等 * * @author tums * @date 2018年12月28日13:46:53 */@Componentpublic class HttpConverConfig { @Autowired private RequestMappingHandlerAdapter requestMappingHandle...原创 2019-03-07 11:47:44 · 921 阅读 · 0 评论 -
请不要在你的Java代码中出现任何Log4j等日志框架的API的使用,而是应该直接使用SLF4J这种日志门面
作为Java程序员,我想很多人都知道日志对于一个程序的重要性,尤其是Web应用。很多时候,日志可能是我们了解应用程序如何执行的唯一方式。所以,日志在Java Web应用中至关重要,但是,很多人却以为日志输出只是一件简单的事情,所以会经常忽略和日志相关的问题。Java语言之所以强大,就是因为他很成熟的生态体系。包括日志这一功能,就有很多成熟的开源框架可以被直接使用。首先,我们先来看一下目...转载 2019-03-12 09:34:18 · 269 阅读 · 0 评论 -
Java SPI机制
1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块...转载 2019-03-28 12:00:41 · 106 阅读 · 0 评论 -
java.awt.headless 模式
1. 什么是 java.awt.headless?Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。2. 何时使用和headless mode?Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少GUI设备,但又需要使用他...原创 2019-03-28 14:35:18 · 265 阅读 · 0 评论 -
常见负载均衡算法
轮询法(Round Robin) 轮询法是负载均衡中最常用的算法,它容易理解也容易实现。轮询法是指负载均衡服务器(load balancer)将客户端请求按顺序轮流分配到后端服务器上,以达到负载均衡的目的。假设现在有6个客户端请求,2台后端服务器。当第一个请求到达负载均衡服务器时,负载均衡服务器会将这个请求分派到后端服务器1;当第二个请求到害时,负载均衡服务器会将这个请求分...转载 2019-03-28 17:20:57 · 257 阅读 · 0 评论 -
java内存模型
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要...原创 2019-03-29 11:02:23 · 117 阅读 · 0 评论 -
Java GC原理
Java GC(garbage collec,垃圾收集,回收)GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot对象化的实例是放在heap堆内存中的,这里讲的分代收集也是指对堆内存的回收GC的分代收集分为:年轻代、老年代、永久代。(方法区是被当做永久代的,不过JDK1.6后将被取消掉了)年轻代(Young Generation)、年老代(Old G...原创 2019-03-29 11:42:51 · 119 阅读 · 0 评论 -
JVM调优总结
目录数据类型堆与栈Java对象的大小引用类型按照基本回收策略分按分区对待的方式分按系统线程分如何区分垃圾如何处理碎片如何解决同时存在的对象创建和对象回收问题为什么要分代如何分代什么情况下触发垃圾回收分代垃圾回收流程示意选择合适的垃圾收集算法小结回收器选择辅助信息常见配置汇总调优总结垃圾回收的瓶颈增量收集的演进Garbage Firest(G1)展望JVM调优工具如何调优线程监控内存泄漏检查垃圾...转载 2019-03-29 11:51:18 · 165 阅读 · 0 评论 -
BeanUtils copy 对象时忽略null和指定属性
/** * org.springframework.beans.BeanUtils copy 属性时忽略null和指定的属性 * * @param source * @param target */private static void copyProperties(Object source, Object target, String... ignoreProperties) {...原创 2019-03-07 11:36:35 · 1863 阅读 · 2 评论 -
有没有业务和产品由于技术难度太大来做折衷的?
今天有朋友问我,说我的文章里,总是提“脱离业务的架构设计是耍流氓”。每次都是架构根据业务折衷,有没有业务和产品由于技术难度太大来做折衷的?当然有,当一个业务技术难度非常大的时候,可以通过业务和产品的优化,来简化系统架构。以“12306车票秒杀”为例,秒杀业务架构难度大,业务和产品可以这么折衷:case 1一般来说,下单和支付放在同一个流程里,能够提高转化...转载 2019-03-06 09:56:17 · 117 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到转载 2012-12-27 15:10:30 · 310 阅读 · 0 评论 -
Java 动态代理深入解析
原文地址:http://zfxjava.iteye.com/blog/1006832转载 2016-01-28 18:02:47 · 364 阅读 · 0 评论 -
My Restful API 小结
一个好的API设计应该可以减少很多不必要的沟通成本和解决开发人员之间的一些设计理念的歧义,即看到接口文档基本上就不会再和你BB了定义先了解下几个重要的术语: 资源:一个对象的单独实例,如一只动物 集合:一群同种对象,如动物 幂等:无边际效应,多次操作得到相同的结果 动词显然你了解GET和POST请求。当你用浏览器去访问不同页面的时候,这两个是...原创 2019-02-27 14:58:53 · 136 阅读 · 0 评论 -
Spring Cloud Feign 透传Header信息
Spring Cloud 微服务下,通过Feign相互调用时,Feign是不会带上当前请求的cookie信息和header信息,而我们一般都会在cookie或者header带着一些重要的信息,如cookieid,token等。那么我们怎么将这些信息传递到其他的服务里呢?1、通过拦截器,在请求从A服务发送到B服务之后,在拦截器内将自己需要的东西加到请求头import feign.Reque...原创 2019-02-28 10:28:43 · 7450 阅读 · 5 评论 -
Spring JPA 使用注解方式进行事务管理
使用步骤:开启事务@EnableJpaRepositories(默认开启事务)boolean enableDefaultTransactions() default true使用事务的方法@Transactional(rollbackFor = Exception.class)(默认RuntimeException才会回滚)By default, a transacti...原创 2019-02-28 14:45:44 · 1604 阅读 · 0 评论 -
API 接口鉴权规范
设计原则:接口无状态(幂等),兼容各个客户端(app-ios/app-android/mweb/小程序等等)Api 接口鉴权规范-1.0-md5签名Api 登录,采用Auth鉴权方式验证API请求合法性,即所有API Http Header请求需包含以下公共参数:1.Epay-Auth-User-Id 用户Id2.Epay-Auth-Timestamp 请求时客户端时间错...原创 2019-03-05 09:49:55 · 3780 阅读 · 0 评论 -
Docker 容器下tomcat的远程调试
2/3 ./catalina.sh jpda runListening for transport dt_socket at address: 80001/3--注意,由于在docker环境下,debug模式新开启的端口:8000需要映射到物理机上,其他和正常debug没差别--netstat -lntp 查看端口占用情况,这里是看不到docker环境下开启的端口的...原创 2019-03-05 09:57:58 · 2039 阅读 · 0 评论 -
为什么要微服务(服务化)?
“微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”。画外音:做技术千万不能是这种思路,“别人都在做,所以我们也要搞”。并不是所有的业务都适合“服务化”,互联网高可用架构,到底为什么要服务化?服务化之前,高可用架构是什么样的?在服务化之前,互联网的典型高可用架构如下:(1)客户端,APP,H5,小程序,PC浏览...转载 2019-03-06 09:46:36 · 594 阅读 · 0 评论 -
配置文件*.properties/*.ini类型文件管理
package com.sf.oracle.lesson03;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import j原创 2012-12-27 15:25:10 · 528 阅读 · 0 评论