水上冰石
系统架构师
展开
-
父类引用指向子类对象方法调用与方法覆盖
看一个例子// 摘自牛客网 来自:度小满2019秋招研发岗试卷class Animal{ public void move(){ System.out.println("动物可以移动"); }}class Dog extends Animal{ public void move(){ System.out.println("狗可以跑和走"); } public void bark(){ System.out.原创 2021-12-08 14:04:03 · 379 阅读 · 0 评论 -
aspectj面向切面编程,失效问题
1.当面向切面编程,使用aspjectJ时,在用注解进行处理,例如:/** * @Author: jiaozongguan * @Description: * @Date: 2021/9/27 13:44 */@Aspect@Component@Slf4jpublic class SourceClientMsgAspectJ { private static final Logger logger = LoggerFactory.getLogger(SourceClient原创 2021-11-18 16:39:59 · 1110 阅读 · 0 评论 -
记一次app性能调优
项目名称:某问卷调研系统项目描述:一个基于某银行app的其中一个子系统:问卷调研子系统。问题描述:在一次发版过程中,有某为某型号的机型在系统第一次升级以后出现app闪崩现象。重新卸载以后问题可解决。问题呈现过程: 客户:系统升级以后,有工单提交到后台,app闪崩,必须重启。 技术:提供具体的系统机型,型号,操作步骤 客户:操作步骤:下载新版本的app客户端,安装以后,登录,进入问卷模块,app卡顿,重...原创 2021-10-31 17:39:13 · 252 阅读 · 0 评论 -
java对枚举类型进行自动化匹配
package com.datasure.movesure.util.exception;import com.datasure.movesure.base.core.exception.IErrorCode;/** * @ClassName: ShellUtilError * @Description: * @Author: Datasure008 * @Date: 2021/9/8 11:21 */public enum ShellUtilError implements IErr.原创 2021-09-17 17:56:45 · 1507 阅读 · 0 评论 -
Java方法值传递和引用传递的疑问
先说结果:Java方法中参数的传递,是值传递,而非引用传递。值传递即新增副本,只不过对于引用类型的变量,这个副本是地址的副本,而不是对象的堆空间的副本!Java中方法都是值传递,即做一个副本给到方法,方法处理不会影响到先前的变量值。一.可以印证值传递的例子:import java.util.ArrayList;import java.util.List;public class TestFunctionParam { public static void mai.原创 2021-03-25 17:36:02 · 146 阅读 · 0 评论 -
Java编程思想-泛型
package com.jzg.thinkingInJava.test.T;public interface Performs { void speak(); void sit();}package com.jzg.thinkingInJava.test.T;import com.jzg.tingkingInJava.test.RTTI.typeinfo.Dog...原创 2019-01-15 22:51:43 · 340 阅读 · 0 评论 -
Java泛型机制-潜在类型机制(结构化类型机制,通俗称为鸭子类型机制)
本文有待考虑,有的书上说,Java是不支持潜在类型机制的,但泛型本身个人就理解为是支持潜在类型机制的。Java的泛型,是不能从继承的角度进行考虑泛型本身的。(这是我读Java编程思想,与作者的观点不尽相同的。Java编程思想是通过继承体系去讲解泛型的,泛型的前半部分我读的云里雾里的,直到潜在类型机制的概念的出现,我感觉开头作者讲解的泛型的出发点似乎有点自相矛盾。Java编程思想认为,泛型在使用的时...原创 2019-01-10 21:21:43 · 546 阅读 · 0 评论 -
jdk7之前,匿名内部类访问局部变量加final修饰的问题(综合两种说法)
当使用匿名内部类的时候,如果匿名内部类需要访问匿名内部类所在方法中的局部变量的时候,必须给局部变量加final进行修饰。不加final修饰的局部变量,匿名内部类是访问不到的。这是为什么呢?网上有两种说法,第一种说法是从java编程思想那本书演化出来的,然而遭到了第二种说法的 反驳。第二种说法是直接反编译代码,用事实说话,然而却并不认同第一种说法。下面是我的见解,欢迎大家留言讨论。一.因为内部类对......原创 2020-08-21 11:34:29 · 6620 阅读 · 17 评论 -
网络身份五大要素
当注册接口的时候,我们根据什么原则设计用户表呢?这里需要用到网络身份的五大要素。身份验证:它关系到你是否具有某项操作的权限,就像是你身份证明上的照片、某张会员卡、家里或房门的一串钥匙。代表身份:它涉及到你的身份或你宣称的身份,这和个人名片、个人资料一样,因为它让别人知道你的身份、职业等其他背景资料。通讯:它涉及到“如何能联系到你?”的问题。这和电话号码一样,不过如今涉及到更多的通讯工具,比如电子邮...原创 2018-04-15 13:23:43 · 1962 阅读 · 0 评论 -
Java中的弱引用实例讲解
结论:只要有强引用指向的对象,都不会被回收。如果没有强引用指向,只是有弱引用指向的对象,在垃圾回收的时候,对象仍然会在垃圾回收时被回收。最后代码可在jdk8上直接运行测试在学习java反射机制的时候,我们会发现,java.lang.ref Reference是抽象类,有三个实现类。在线api:http://tool.oschina.net/apidocs/apidoc?ap原创 2018-01-24 11:15:31 · 1223 阅读 · 0 评论 -
判断字符串是否为空的org.apache.commons.lang3.StringUtils类方法isBlank()源码查看
转发请注明出处与作者。个人分析的,正确性欢迎大家一起探讨,有错误还希望指正和批评判断字符串是否为空,有很多种方法,下面是其中一种: if(s == null ||"".equals(s));但这样写看起来是不能从代码本身看到代码本身的业务含义,于是很多追求代码可读性的代码编写者会使用org.apache.commons.lang3.StringUtils类的isBlank()原创 2017-08-22 17:01:37 · 5900 阅读 · 0 评论 -
Java编程思想之代理空对象
接上一篇 Java编程思想之命令模式1.创建代理package com.jzg.thinkingInJava.test.RMI.NullObject;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.util.Collections;import j原创 2017-02-25 22:41:46 · 597 阅读 · 0 评论 -
Java编程思想之命令模式
命令模式:一个操作包含一个描述和一个命令。1.创建一个表示空对象的接口: package com.jzg.thinkingInJava.test.RMI.command;public interface Null{}2.创建表示操作的接口:package com.jzg.thinkingInJava.test.RMI.command;public interfac原创 2017-02-25 21:03:39 · 343 阅读 · 0 评论 -
Java编程思想 类型信息 Class.forName()
Java编程思想第四版,第十四章 类型信息316页(558英文),jdk1.7.0_51下执行的结果与书上的不一样,具体代码如下: package com.jzg.tingkingInJava.test.RTTI;class Candy{ static {System.out.println("Loading Candy");}}class Gu原创 2017-01-03 22:48:02 · 423 阅读 · 0 评论 -
Java编程思想--格式化说明符
%[argument_index$][flags][width][.precision]conversion %:表示需要进行格式化 [argument_index$]: [flag]:默认右对齐,“-”表示左对齐 [width]:宽度 [.precision]:如果是字符串,表示打印输出的最大位数;如果作用原创 2016-04-16 21:42:51 · 1624 阅读 · 0 评论 -
java 日志异常格式化字符串
/** 异常处理字符串格式化 **/public class DatabaseException extends Exception{public DatabaseException(int transactionID, int queryID,String message) {super(String.format("(t%d, q%d) %s",transactionI原创 2016-05-10 22:21:06 · 2577 阅读 · 0 评论 -
该如何写设计文档和代码注释
一:设计文档 设计文档应该侧重的是整个框架的结构,设计该框架的思想。那个部分实现那个模块,哪个文件夹负责实现哪个模块。那个文件夹里存放的是哪些类型的文件。页面之间如何跳转,参数在页面中是如何传递的。这些方面集中放到一个文件夹里面,主要是给阅读代码的人看,让阅读代码的人第一时间了解程序的结构,有个整体的清晰的脉络认识。二:代码注释 代码注释有类注释,属性注释,方法注释,以原创 2013-12-24 10:18:05 · 1685 阅读 · 0 评论