随笔分类 - 工作总结
摘要:在编写代码的时候,使用@Autowired注解是,发现IDE报的一个警告,如下: Spring Team recommends "Always use constructor based dependency injection in your beans. Always use assertion
阅读全文
摘要:版权声明:本文为博主原创文章,遵循 CC 4.0 BY SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/yyysylvia/article/details/83177345 <! flowchart 箭头图标 勿删 最近在项目开发中遇到这样一个
阅读全文
摘要:一 在编写代码的时候,使用@Autowired注解是,发现IDE报的一个警告,如下: Spring Team recommends "Always use constructor based dependency injection in your beans. Always use asserti
阅读全文
摘要:仅做记录之用。 java代码可以反编译,因此有时候要保护自己的知识产权还真得费点心思,一般来说有三个思路: 1、将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密class文件; 2、使用花指令,使得class文件不能反编译(利用反编译工具漏洞);安全性一般,还
阅读全文
摘要:6个常用Java 源代码 保护工具(混淆、加密、底层) ProGuard Java源代码保护工具ProGuard的3.6与4.1版 下载地址:http://download.csdn.net/source/386505 (20080318_6)Java源代码保护工具ProGuard的3.
阅读全文
摘要:一、不可变类简介 不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。 可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。 二、不可变类的优点 说完可
阅读全文
摘要:阅读目录(Content)数据库命令规范数据库基本设计规范1. 所有表必须使用Innodb存储引擎2. 数据库和表的字符集统一使用UTF83. 所有表和字段都需要添加注释4. 尽量控制单表数据量的大小,建议控制在500万以内5. 谨慎使用Mysql分区表6. 尽量做到冷热数据分离,减小表的宽度7.
阅读全文
摘要:转自 Java负整数的左移、右移、无符号右移 Java负整数的左移、右移、无符号右移。正数的位移没有涉及到符号,而且正数的原码、反码、补码都是一样的,所以相对简单,但是对于负整数的位移,往往容易混淆。 Java的<< >
阅读全文
摘要:1、 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数。 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数。 左移的规则只记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数
阅读全文
摘要:Java的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括long、int、short、char和 byte,位运算符具体如下表: 运算符 说明 << 左移位,在低位处补0 >> 右移位,若为正数则高位
阅读全文
摘要:回去又复习了一遍计算机里面二进制整数的表示方式,主要分为3类:原码、反码和补码。 当然,我还是要在开头说明一下,计算机里都是以补码的形式储存数据。 原码 这种方式最好理解,将我十进制的“逢十进一”换成二进制的“逢二进一”就行了。 具体如何做呢?还是介绍一下十进制和二进制的转换方式吧。 二进制转换十进
阅读全文
摘要: 一、位运算 (1)按 位 与 & 如果两个相应的二进制形式的对应的位数都为1,则结果为1,记为同1为1,否则为0。首先我们看一下对正数的运算 分别看一下正数和负数的具体运算步骤 &n
阅读全文
摘要:1.^(亦或运算) ,针对二进制,相同的为0,不同的为1public static void main(String[] args) { System.out.println("2^3运算的结果是 :"+(2^3)); //打印的结果是: 2^3运算的结果是 :1 }2 =======>001
阅读全文
摘要:概述 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需
阅读全文
摘要:详解Twitter开源分布式自增ID算法snowflake,附演算验证过程 2017年01月22日 14:44:40 url: http://blog.csdn.net/li396864285/article/details/54668031 1.snowflake简介 &n
阅读全文
摘要:1、Snowflake简介 互联网快速发展的今天,分布式应用系统已经见怪不怪,在分布式系统中,我们需要各种各样的ID,既然是ID那么必然是要保证全局唯一,除此之外,不同当业务还需要不同的特性,比如像并发巨大
阅读全文
摘要:1.写唯一ID生成器的原由 在阅读工程源码的时候,发现有一个工具职责生成一个消息ID,方便进行全链路的查询,实现方式特别简单,核心源码不过两行,根据时间戳以及随机数生成一个ID,这种算法ID在分布式系统中重复的风险就很明显了。本来以为只是日志打印功能,根据于此在不同系统调用间关联业务日志而已,不过后
阅读全文
摘要:原生实现 本文承接sharding jdbc源码之分布式ID,在这篇文章中详细介绍了sharding jdbc的分布式ID是如何实现的;很遗憾的是sharding jdbc只是基于snowflake算法实现了如何生成分布式ID,并没有解决snowflake算法的缺点: 时钟回拨问题; 趋势递增,而不
阅读全文
摘要:1. Linux Perf简介1.1 Perf是什么Perf 是内置于Linux 内核源码树中的性能剖析(profiling)工具。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。可用于性能瓶颈的查找与热点代码的定位。linux2.6及后续版本都自带
阅读全文
摘要:面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、M
阅读全文