首页
学习
活动
专区
工具
TVP
发布

技术文献

程序猿的自我修养
专栏成员
26
文章
64600
阅读量
12
订阅数
为什么说用 MD5 存储密码非常危险,这些你该清楚
很多软件工程师都认为 MD5 是一种加密算法,然而这种观点其实是大错特错并且十分危险的,作为一个 1992 年第一次被公开的算法,到今天为止已经被发现了一些致命的漏洞,我们在生产环境的任何场景都不应该继续使用 MD5 算法,无论是对数据或者文件的内容进行校验还是用于所谓的『加密』。
AlbertZhang
2021-02-25
6700
redis 为什么把简单的字符串设计成 SDS?
面试官:了解redis的String数据结构底层实现嘛? 铁子:当然知道,是基于SDS实现的 面试官:redis是用C语言开发的,那为啥不直接用C的字符串,还单独设计SDS这样的结构呢? 铁子:···
AlbertZhang
2021-02-19
6590
TCP/IP
计算机网络是一门基础课程,但是老师所讲的东西无非起到一个抛砖引玉的作用。然而对于需要自学的人来说,无疑是更难的。前路漫漫~~
AlbertZhang
2020-12-09
3.8K0
线程池
不光是线程池,池化思想在诸多地方有着很好的应用,比如对象池、连接池等等。。一般运用池化思想的都是一些比较消耗系统资源的操作,通过池化,可以降低内存消耗,并且可以进行复用操作,提高效率。同时池化还可以统一的对资源进行管理,控制他们的创建与销毁。
AlbertZhang
2020-11-19
6590
内网服务器如何设置代理访问外网
首先有两台服务器AB,其中A有无外网,B有外网。A配置(内网IP172.19.58.202\系统CentOS7.4),B配置(内网IP172.19.58.201\系统CentOS7.4)。现在A服务器是无法访问外网的,需要使用代理的方法让A通过有外网的B访问外网。
AlbertZhang
2020-11-17
19.6K0
依赖注入和控制反转
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。
AlbertZhang
2020-11-05
8480
Redis
简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。
AlbertZhang
2020-11-02
7010
细说那些让公司网站瘫痪的SQL
步骤 3:指定记录慢查询日志 SQL 执行时间的阈值(long_query_time 单位:秒,默认 10 秒)。
AlbertZhang
2020-10-30
1.1K0
如何合理设置线程池大小
对于不同性质的任务来说,CPU密集型任务应配置尽可能小的线程,如配置CPU个数+1的线程数,IO密集型任务应配置尽可能多的线程,因为IO操作不占用CPU,不要让CPU闲下来,应加大线程数量,如配置两倍CPU个数+1,而对于混合型的任务,如果可以拆分,拆分成IO密集型和CPU密集型分别处理,前提是两者运行的时间是差不多的,如果处理时间相差很大,则没必要拆分了。
AlbertZhang
2020-10-14
1.6K0
在Spring项目中以多线程的方式并发执行,异步处理任务。解决统计、累加类业务的例子。
其实具体业务无所谓,这次解决的问题是“统计、累加类业务类型”,这里的业务就用”统计动物园中所有种类动物数量的总和”,类比代替了。
AlbertZhang
2020-10-14
2.9K0
k8s etcd 的实现原理
etcd 的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转。
AlbertZhang
2020-09-29
1.5K0
拥抱K8s系列-01
先准备两台干净的CentOS系统 (192.168.80.74 和 192.168.80.75),分别在服务器上使用yum和docker方式创建nginx服务
AlbertZhang
2020-09-27
3490
MySQL InnoDB索引:存储结构
此小结与索引其实没有太多的关联,但是为了便于理解索引的内容,添加此小结作为铺垫知识。
AlbertZhang
2020-09-21
1.2K0
Java.lang.Illegalaccessexception 或 java.lang.NoSuchMethodError
今天和小伙伴讨论一个mybatis-plus的一个诡异问题,最后定位到原因竟然是lombok@Data和@Builder一起用无法添加无参构造方法引起的,非常隐蔽。
AlbertZhang
2020-09-16
9250
为啥不能用uuid做MySQL的主键 ?
在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?
AlbertZhang
2020-09-09
3.9K0
如何保证缓存与数据库双写时的数据一致性?
在做系统优化时,想到了将数据进行分级存储的思路。因为在系统中会存在一些数据,有些数据的实时性要求不高,比如一些配置信息。基本上配置了很久才会变一次。而有一些数据实时性要求非常高,比如订单和流水的数据。所以这里根据数据要求实时性不同将数据分为三级。
AlbertZhang
2020-09-04
6530
关于加@Transactional注解的方法之间调用,事务是否生效的问题
1. 不同类之间的方法调用,如类A的方法a()调用类B的方法b(),这种情况事务是正常起作用的。只要方法a()或b()配置了事务,运行中就会开启事务,产生代理。
AlbertZhang
2020-09-02
6.2K0
springboot 事务,多张表的操作事务回滚
结果为a表的数据删除成功了,b表的数据未成功删除,这时候我们应该是b表数据回滚,a表数据也回滚,那么我们应该怎么实现这种方式呢?
AlbertZhang
2020-09-02
3.1K0
Java8——行为参数化传递代码
1、初试牛刀:筛选绿苹果 第一个解决方案可能是下面这样的: public static List<Apple> filterGreenApples(List<Apple> inventory){ List<Apple> result=new ArrayList<>(); //仅仅筛选出绿苹果 for (Apple apple : inventory) { if ("green".equals(apple.getColor())){
AlbertZhang
2020-09-02
4900
定时任务最简单的3种实现方法(Java)
定时任务在实际的开发中特别常见,比如电商平台 30 分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现,那么我们本文就来看一下定时任务最简单的几种实现方式。
AlbertZhang
2020-08-26
6470
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档