Java基础
文章平均质量分 72
皓月之明
Talk with other programmers;
展开
-
二进制如何进行正负数之间的转换
先来举个栗子(正数转负数的概览过程):将1转换成二进制数据为 0000 0000 0000 0000 0000 0000 0000 0001学过计算机的,都知道最高位代表符号位,0为正,1为负,所以得到的二进制为 1000 0000 0000 0000 0000 0000 0000 0001但计算机还会进行反码和补码,有兴趣的可以自己查,我只说过程,除了最高位,其他都取反,即0变1,1变0 1111 1111 1111 1111 111...转载 2021-01-22 14:24:26 · 10919 阅读 · 0 评论 -
一次性说清Java中涉及的符号
java中有三种移位运算符:<< 左移运算符,num << 1,相当于num乘以2>> 右移运算符,num >> 1,相当于num除以2>>> 无符号右移,忽略符号位,空位都以0补齐一、>> 和 >>>的区别就是有无符号的区别: 1、右移运算符>>(有符号) 用来将一个dao数的各二进zhuan制位全部右shu移若干位.例如:a = a>>2...原创 2021-01-22 13:37:04 · 704 阅读 · 0 评论 -
Java中存储金额用什么数据类型?
转自:https://www.cnblogs.com/yadongliang/p/9066188.html很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, float, double, char)的我, 回答了double, 因为我觉得double是双精度类型, 最适合, 但是面试官告诉我应该用BigDecimal! 最近在做支付的项目, 才对这种数据类型有了更多的了解.栗子请看题:示例转载 2021-01-20 20:53:52 · 5681 阅读 · 0 评论 -
关于HashMap键Key的Hash过程相关
HashMap中数组下标值的计算过程,大致分为如下几步:1、获取key.hashCode(),2、将hashCode高16位和低16位异或(^)操作,3、与当前数组长度length-1结果进行与(&)操作,最终结果就是数组的下标值! static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);原创 2021-01-20 20:05:39 · 586 阅读 · 0 评论 -
Servlet 3.0 之@WebFilter怎么控制多个filter的执行顺序
我们控制多个filter的执行顺序是通过web.xml中控制filter位置的先后次序来控制的,放在上面的会比放在下面的先执行,如下“用户登录检查过滤器”会比“接口日志过滤器”先执行 <!-- 用户登录检测过滤器 --> <filter> <filter-name>UserLoginFilter</filter-nam...转载 2019-07-25 12:10:08 · 1032 阅读 · 0 评论 -
setAccessible(反射获取私有成员变量)和 readResolve(单例模式类反序列化防止多例)
第一环节:(setAccessible()方法)1、当isAccessible()的结果是false时,不允许通过反射访问该字段;2、当该字段时private修饰时,isAccessible()得到的值是false,必须要改成true才可以访问;所以我们在通过反射访问某类的私有成员方法和变量的时候,f.setAccessible(true)设置为true的作用就是让我们在用反射时能够访...原创 2019-06-14 14:45:37 · 362 阅读 · 0 评论 -
设计模式 之 责任链模式 原理
定义一个抽象的父类, 在抽象的父类中定义请求处理的方法 和 下一个处理者.然后子类处理器继承分类处理器, 并实现自己的请求处理方法设置处理请求链, 可以采用工厂设计模式抽象, 请求者只需要知道整个链条的第一环。转载 2019-06-01 20:06:36 · 271 阅读 · 1 评论 -
Java中的24种设计模式与7大原则
参考理解:https://blog.csdn.net/zhengzhb/article/details/7296944一、创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个...转载 2019-03-26 23:06:14 · 139 阅读 · 0 评论 -
Java的不同版本:J2SE、J2EE、J2ME的区别
1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Java都是指Java2。Java 有三个版本,分别为 J2SE、J2EE和J2ME,以下是详细介绍。J2SE(Java 2 Platform Standard Edition) 标准版J2SE是Java的标准版,主要用于开发客户端(桌面应用软件),...原创 2019-03-08 10:28:15 · 151 阅读 · 0 评论 -
Java内部类详解
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正。 请尊重作...转载 2018-11-20 18:11:04 · 84 阅读 · 0 评论