自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一杯柠檬茶。

有道无术,术尚可求;有术无道,止于术。

  • 博客(17)
  • 收藏
  • 关注

原创 【数据结构】HashMap

loadFactor即加载因子,默认0.75。若填充比很大,说明利用的空间很多,如果一直不进行扩容,链表就会越来越长,查找的效率就会很低。扩容后,将原来链表数组的每一个链表分成奇偶两个子链表分别挂在新链表数组的散列位置,这就减少了每个链表的长度,增加查找效率。HashMap本来设计是以空间换时间,所以填充比没必要太大,但是填充比太小又会导致空间浪费,因此,若关注内存,填充比可以稍大,若关注查找性能,填充比可以稍小。...

2021-10-06 00:31:10 168

原创 【C】二进制

计算机使用二进制的原因计算机本质上是由逻辑电路组成,只有与门与非门,各种组合情况与二进制相同。二进制的运算比十进制、十六进制等都要简单,有利于简化计算机内部结构并提升运算速度。还有其他各种原因。表现我们平时使用时感觉不到二进制的存在:因为电脑会把我们输入的信息自动转为二进制,在计算机内部都是通过二进制形式存储运算的,输出的时候又是将二进制的数据转为我们能看得懂的信息显示在屏幕上,常用的Ascll码、汉字编码GBK、UTF-8等信息编码在电脑内部都是以二进制编码表示的,例如GBK编码的“国”这个

2021-09-21 15:48:55 325

原创 【C】位运算

概述在现代计算机中,所有的数据都以二进制的形式存储在设备中,即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都叫位运算,即将符号位共同参与运算的运算。举个例子(计算两个数的和)来看CPU是如何进行计算的:35: 0 0 1 0 0 0 1 147: 0 0 1 0 1 1 1 1————————————————————82: 0 1 0 1 0 0 1 0...

2021-09-20 14:09:11 172

原创 【Java】异常

继承#mermaid-svg-Gw6tkvAZKgfuzCMp .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Gw6tkvAZKgfuzCMp .label text{fill:#333}#mermaid-svg-Gw6tkvAZKgfuzCMp .node rect,#mermaid-svg-Gw6tkvA

2021-09-18 14:29:33 97

原创 【Java】POJO

POJO(Plain Ordinary Java Object)简单的Java对象通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。POJO实质上可理解为简单的实体类,顾名思义,POJO类的作用是方便程序员使用数据库中的数据表,可以很方便地将POJO类当做对象来进行使用,当然也可以方便地调用其get、set方法。一个POJO在持久化后就是PO,若直接用它传递,在传递过程中就是DTO,若直接用来对应表示层就是VO。JavaBean一种可重用组件,即“一

2021-09-17 18:44:37 1044

原创 【MySQL】规范

基础规范表存储引擎必须使用InnoDB。表字符集默认使用utf8,必要时候使用utf8mb4。utf8通用,无乱码风险,汉字3字节,英文1字节。utf8mb4是utf8的超集,有存储4字节例如表情符号时使用它。禁止使用存储过程、视图、触发器、Event。对数据库性能影响较大,对于互联网业务,能让站点层和服务层干的事情就不要交到数据库层。调试、排错、迁移都比较困难,扩展性较差。禁止在数据库中存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库中存储路径。禁止在线上环境做

2021-09-17 18:34:55 389

原创 【Java】finally

执行流程在try或catch中有System.exit(0);这类终止JVM的的语句,那么finally语句不会执行。若try或catch中有return:先执行return后的表达式运算,然后把要返回的值保存下来,再执行finally,最后返回之前保存的值。若在finally中直接修改的是引用地址或基本数据类型,那么返回的就是拷贝之前的,若在finally中修改要返回的某个对象中的属性,则可以看见是返回修改过后的。若finally块中有return则提前退出,此时返回值不是try或catch

2021-09-16 22:28:52 119

原创 【Java】阿里巴巴Java开发手册

文章目录一、编程规约1. 命名风格通用包名类名接口方法名、参数名、成员变量、局部变量常量数组枚举POJO总结2. 常量定义3. 代码格式4. OOP规约方法数据类型初始化比较5. 日期时间6. 集合处理7. 并发处理总结一、编程规约1. 命名风格通用不能以_或$开始及结束。使用正确的英文拼写和语法,禁止不规范的缩写,禁止使用拼音。禁止歧视性词语:blackList→\to→blockListwhiteList→\to→allowListslave→\to→replicamaster→

2021-09-15 18:18:32 674

原创 【Java】线程池

优势降低系统资源消耗:通过重用已存在的线程,降低线程创建和销毁而造成的消耗。提高系统响应速度:当有任务到达时可复用已存在的线程,而无需等待新线程的创建便能立即执行。方便线程并发数的管控:因为线程若无限制地创建,可能会导致OOM,并且会造成cpu过度切换(cpu切换线程是有时间成本的,需要保存当前执行线程的上下文,并恢复要执行线程的上下文)。提供更强大的功能:如定时任务线程池(ScheduledThreadPoolExecutor)。参数public ThreadPoolExecutor(in

2021-09-15 10:13:01 71

原创 【数据结构】红黑树

概述RBT,RedBlackTree应用场景在JDK1.8的HashMap中,为了解决过度哈希冲突带来的长链表,会将链表转为红黑树;Linux底层的CFS进程调度算法中,vruntime利用红黑树来进行存储;多路复用技术的Epoll的核心结构也是红黑树+双向链表。定义非红即黑根节点必为黑所有叶子节点必为黑任意节点到叶子节点所经过的黑节点的数目相同不会有连续的红节点旋转#mermaid-svg-KPVwHSAB6d3u1hR3 .label{font-family:'trebuche

2021-09-11 21:23:16 968

原创 【程序设计】权限管理

文章目录权限模型授权的演进使用属性来调节访问使用PBAC简化访问控制和智能化权限设置以自动化应对永恒的挑战ACLRBACABAC主要组成部分使用属性动态计算出决策结果应用场景PBAC权限模型的选择总结ABACRBAC基于组的访问 vs. 基于资源的访问权限模型ACLAccess Control List(访问控制列表)RBACRole-Based Access Control(基于角色的权限访问控制)ABACAttribute-Based Access Control(基于属性的权限访问控制

2021-09-10 17:50:58 857

原创 【程序设计】设计模式

概述设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。分类按照使用场景可以分为三大类创建型模式(Creational Patterns)对象实例化的模式,创建型模式用于解耦对象的实例化过程。对对象的实例化过程进行抽象,这使得一个系统可以不用关心这些对象是如何创建、组合及呈现的,对类创建模式来说,通过使用继承改变实例化的类,对对象创建模式来说,通过使用代理来实例化所需要的对象。工厂模式(Factory Pattern)封装了对象的创建

2021-09-09 14:58:43 1209

原创 【Python】包管理

PyPAThe Python Packaging Authority (PyPA) is a working group that maintains a core set of software projects used in Python packaging.pagegithubPyPA推荐使用pip进行Python包管理。命令版本pip -V库查看已安装的第三方库pip list查看有新版本的已安装的第三方库pip list --outdated

2021-09-07 19:28:51 118

原创 【开发工具】JetBrains

设置File | Settings | Appearance & Behavior | AppearanceTheme: IntelliJ LightUse custom font: JetBrains Mono ExtraLightSize: 12File | Settings | Editor | FontFont: JetBrains MonoSize: 16插件字体JetBrains Mono:JetBrains官方发布了一款等宽的编程字体,专为程序员设计

2021-09-07 15:19:02 3653

原创 【程序设计】RESTful

概述RESTful是一种(软件的)架构风格,这种风格专门用于API设计(让API设计看上去更优雅)。官方说明2000年,Roy Thomas Fielding博士在他那篇著名的博士论文《Architectural Styles and the Design of Network-based Software Architectures》中提出了几种软件应用的架构风格,REST作为其中的一种架构风格在这篇论文的第5章中进行了概括性的介绍。REST是REpresentational State Tra

2021-09-01 11:39:42 428

原创 【程序设计】设计原则与面向对象

概述You still need to know design principles, and design patterns.面向对象即面向对象程式设计(Object Oriented,OO),有三个基本特征:封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。是对象和类概念的主要特性。继承指一种能力,可以使用现有类的所有功能,并在不修改原来的类的情况下对这些功能进行扩展。面向对象编程(OOP)语言的一个主要功能就是继承。多态多

2021-09-01 11:20:23 110

原创 【程序设计】MVC模式与三层架构

概述广义上来说,MVC模式与三层框架是没有联系的,但是在三层架构中,表示层通常会使用MVC模式进行构建,经常使用的MVC框架有Spring MVC,Struts等。系统架构指整合应用系统程序大的结构,早期计算机行业没有这个概念,随着互联网的兴起,在05年提出这一词(微软C#上市的一年,利用petsshop做了一个案例介绍三层架构,自此有了架构的概念)。系统间的复杂度等于系统间的耦合度,系统架构均是为了降低系统模块间的耦合度。高内聚,低耦合一个类只做一件事(高内聚):日期管理工具类不应该出现四则

2021-09-01 10:46:08 847

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除