Archives
All the articles I've archived.
-
奥克兰腾讯光子工作室群 - 一面 - 面试总结
Published: at 03:51 PM腾讯机器学习实习一面 - 侧重简历上实习经历和项目经历的提问,另外给了两道相对基础的算法题目
-
奥克兰腾讯光子工作室群 - 三面 - 面试总结
Published: at 09:10 AM腾讯机器学习实习三面 —— 聚焦数据结构与分布式系统,涵盖跳表与哈希冲突处理、布隆过滤器在大数据判重中的应用,概率算法构造等概率数生成器;深入探讨 MySQL 分布式一致性、Socket 阻塞模型。
-
奥克兰腾讯光子工作室群 - 二面 - 面试总结
Published: at 04:09 PM腾讯机器学习实习二面 - 聚焦并发编程、传输协议与联机游戏网络优化,涵盖最小生成树算法、GIL 与多线程限制、自旋锁与 CAS 原理,以及 UDP 在 FPS 游戏中的可靠通信与高丢包环境下的体验优化策略。
-
GREEDY ALGORITHMS II
Published: at 12:05 AM[算法图示:Bilibili《最短路径查找—Dijkstra算法》](https://www.bilibili.com/video/BV1zz4y1m7Nq)
-
GREEDY ALGORITHMS
Published: at 04:30 AM贪心算法(Greedy Algorithm)是一种常见的优化算法,用于解决一类最优化问题。在每一步选择中,贪心算法总是选择当前看起来最优的选择,而不考虑该选择会不会影响未来的选择。这种贪心选择的策略通常是局部最优的,但不一定是全局最优的。
-
Arithmetic Progression Graphs
Published: at 04:52 AM算术级数图(Arithmetic Progression Graphs, APG),也称为等差数列图,是等差数列的可视化表示。等差数列是一组数字,其中任意两个连续项之间的差值总是相同的。这个常数差值被称为算术级数的公差。
-
Perrin Numbers
Published: at 10:53 PM佩林数(Perrin numbers)是一个整数数列,以P(n)表示,其中 n 为非负整数。佩林数列的定义如下:
-
Access Control
Published: at 03:44 AM向系统实体授予权利或权限以提供对特定资源的访问的过程,也称访问控制(Access Control)
-
Password
Published: at 12:02 AMUnderstand identification and authentication, Learn how passwords are protected
-
GDPR - 通用数据保护法规
Published: at 01:02 AMGDPR (General Data Protection Regulation) 是欧盟关于数据保护的法规,它协调了整个欧盟的数据隐私法,保护并增强了欧盟公民的数据隐私,重塑了欧盟处理数据隐私的方式。
-
Gale-Shapley Algorithms - 稳定匹配问题
Published: at 12:25 PM简称“GS 算法”,也称为延迟接受算法。是 Gale 和 Shapley 为了寻找一个稳定匹配而设计出的市场机制。运行时间在算法输入的大小上是线性的。根据其使用方式,它可以找到对匹配一侧的参与者或另一侧的参与者最佳的解决方案。
-
COMPSCI 316: Lectrue 3
Published: at 01:18 AM- Understand computer security
-
1-计算机安全概述
Published: at 01:52 PM参考书目:Computer Security: Principles and Practice, Fourth Edition, by William Stallings and Lawrie Brown. Pearson Higher Ed USA. ISBN 1292220635.
-
集乐-统一多媒体文件资源管理器
Published: at 01:24 PM项目地址:[https://github.com/Ywrby/JiLe](https://github.com/Ywrby/JiLe)
-
集乐-统一多媒体文件资源管理器-开发记录
Published: at 05:18 AM市面上常见的多媒体资源管理器并不少见,比如很有名的本地电子书管理工具-Calibre,图片管理工具-Eagle,以及音频爱好者喜爱的foobar2000。它们在各自的领域内都完美解决了诸多痛点,但人的需求是在不断变化的,互联网的环境也是在不断发生改变的。
-
IndexedDB浏览器数据库基本概念
Published: at 12:15 AM参考文档:[https://www.cnblogs.com/chenjun1/p/11644866.html](https://www.cnblogs.com/chenjun1/p/11644866.html)
-
25-两级页表
Published: at 01:16 AM某计算机系统按字节寻址,支持32位的逻辑地址,采用分页存储管理,页面大小为4KB,页表项长度为4B。
-
24-基本分页存储管理
Published: at 03:13 AM从之前文章介绍的两种连续分配管理方式中我们可以看到:
-
23-内存空间的分配与回收
Published: at 02:12 AM> 连续分配:指系统为用户进程分配的必须是一个连续的内存空间
-
22-内存空间扩充(覆盖与交换)
Published: at 11:15 PM早期计算机内存很小,因此经常出现内存大小不够使用的情况,因此人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题
-
21-内存与内存管理
Published: at 12:57 AM> 内存(Memory)是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。
-
20-死锁
Published: at 09:20 PM在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里资源,导致各个进程都阻塞,无法向前推进的现象,称为“死锁”。发生死锁后若无外力的干涉,这些进程都将无法向前推进
-
19-管程
Published: at 11:39 PM编写程序困难,容易出错。因此人们考虑使用另外设计的机制,保证程序员在编写程序过程中不需要关注复杂的PV操作。
-
18-信号量相关问题(吸烟者,读者-写者等)
Published: at 03:08 AM假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。三个抽烟者中,第一个拥有烟草、第二个拥有纸、第三个拥有胶水。供应者进程无限地提供三种材料,供应者每次将两种材料放桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉它,并给供应者进程一个信号告诉完成了,供应者就会放另外两种材料再桌上,这个过程一直重复(让三个抽烟者轮流地抽烟)
-
区块链网络中矿池选择的演化博弈
Published: at 03:53 AM腾讯机器学习实习三面 —— 聚焦数据结构与分布式系统,涵盖跳表与哈希冲突处理、布隆过滤器在大数据判重中的应用,概率算法构造等概率数生成器;深入探讨 MySQL 分布式一致性、Socket 阻塞模型。
-
17-生产者与消费者问题
Published: at 10:29 PM系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品就放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用(这里的产品可能是某种数据)
-
16-用信号量实现进程互斥,同步,前驱关系
Published: at 05:14 PM1. 分析并发进程的关键活动,划定临界区(例如:对打印机等临界资源的访问就应放在临界区内)
-
15-信号量机制
Published: at 03:33 AM在我们之前学习的有关进程互斥的硬件软件方法中,都存在着一些不可避免的问题
-
1-归并排序-算法复习
Published: at 01:40 AM要了解归并排序算法首先要了解归并这一过程,归并过程处理两个可比较数组(两个数组已经各自有序),在归并过程中,不断对两个数组的当前首元素进行比较,将较小的元素放置到新数组的下一位置。
-
14-进程同步与进程互斥
Published: at 10:31 PM> 回顾:进程具有异步性的特征,即各个并发执行的进程以各自独立的,不可预知的速度向前推进
-
13-常见调度算法
Published: at 04:12 PM主要从“公平”角度考虑,类似我们生活中的排队购物现象,先到先服务
-
12-调度算法的评价指标
Published: at 04:00 AM指CPU忙碌时间占总时间的比例
-
11-进程调度的时机,方式,切换与过程
Published: at 03:18 AM进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机
-
10-处理机调度的概念与层次
Published: at 02:44 AM当有多项任务需要处理时,由于资源有限,所有任务无法同时处理,此时就需要确定某种规则来决定各项任务的执行顺序,这就是调度
-
9-线程概念与多线程模型
Published: at 02:18 AM线程是一个**基本的CPU执行单元**,也是**程序执行流的最小单元**
-
8-进程的状态,控制与通信
Published: at 10:48 PM进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时需要等待CPU服务,显然进程的状态是在不断变化的。为了方便对各个进程的管理,操作系统将进程合理的划分为几种状态
-
7-进程
Published: at 10:48 PM程序的定义: 就是一个指令序列
-
6-系统调用
Published: at 10:48 PM系统调用是操作系统提供给应用程序(开发人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务
-
5-中断和异常
Published: at 10:48 PM发生中断就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(如进程切换,分配I/O设备等)需要使用特权指令,所以需要CPU由用户态切换到核心态。**中断可以使CPU从用户态切换到核心态,是操作系统获得计算机的控制权**。有了中断,才能实现多道程序并发执行
-
4-操作系统的运行机制以及体系结构
Published: at 10:20 PM“指令”就是处理器(CPU)能够识别,执行的最基本命令
-
3-操作系统的发展与分类
Published: at 10:06 PM主要矛盾:用户独占全机,人机速度矛盾导致资源利用率极低(计算机的高速与人手工输入的低速)
-
2-操作系统的四个特征
Published: at 09:48 PM操作系统共有四个特征,分别是并发,共享,虚拟和异步。其中,并发和共享是操作系统最基本的特征,且二者互为存在条件
-
1-操作系统基础
Published: at 09:33 PM
-
5-Springboot进阶1
Published: at 03:31 AM利用Springboot开发不可避免的要涉及到使用许多的依赖,而涉及到的依赖一多就可能由于依赖之间的版本问题导致错误的产生。这种时候对于依赖的管理就显得十分重要。
-
3-Vue网络应用
Published: at 01:56 PMaxios是一款易用、简洁且高效的http库,是一个可以用在浏览器和Node.js中的
-
2-本地应用:Vue指令
Published: at 02:06 AMv-text指令用于设置标签的文本值,有两种设置标签文本值的方式,方式一就是通过v-text指令向标签传入值,但这种传入方式会整个替换掉标签内的全部文本信息,如果我们需要特殊化的修改某一部分文本值,就需要用到第二个方式,使用插值表达式传入值
-
1-Vue基础
Published: at 09:24 PM> Vue.js是一套构建用户界面的渐进式框架。Vue只关注视图层,采用自底向上增量开发的设计。Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。
-
1-JVM基础
Published: at 11:26 PM> JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
-
1-Electron基础
Published: at 07:29 AM1. NodeJS官网安装node js环境:http://nodejs.org/,安装后可以通过npm -v或node -v检查是否正常安装
-
7-数据链路层-逻辑链路控制子层
Published: at 10:52 PM- 差错的检测和控制
-
6-数据链路层-介质访问控制子层
Published: at 10:32 PM- 单播(unicast):一对一的通信,是客户端与服务器之间的点到点连接
-
5-网络层(下)
Published: at 09:30 PM距离矢量路由法由于不能从全局把握问题,只能从邻居节点获取信息导致了无穷计数,路由环等问题
-
1-区块链基础概述
Published: at 03:06 AM> 区块链(英语:blockchain或block chain)是借由密码学串接并保护内容的串连文字记录(又称区块)。每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易资料(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。目前区块链技术最大的应用是数字货币,例如比特币的发明。
-
基于tio实现P2P网络
Published: at 07:02 AM
-
4-基于SpringBoot的Web开发
Published: at 10:17 PMSpringBoot项目中的静态资源有两种访问方式
-
3-Lombok应用
Published: at 09:14 PM在SpringBoot中整合SSM项目的过程中,不可避免的涉及对数据库的操作,既然有对数据库的操作就必然包括依据数据库结构创建POJO,而POJO创建过程重复度高,并且使得代码看起来冗杂,这种情况下可以通过使用Lombok插件,通过注解的方式,简化POJO的创建过程
-
14-关系代数Relation Algebra
Published: at 05:08 AM> 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。关系代数的运算对象是关系(集合),运算结果亦为关系(集合)。
-
2-Yaml文件
Published: at 03:49 AMSpringBoot使用一个全局配置文件,配置文件的名称是固定的,但文件类型有两种
-
1-SpringBoot基础
Published: at 08:55 PM> SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
-
4-网络层(上)
Published: at 04:13 AM在参考模型中网络层位于传输层之下,链路层之上。
-
4-Dockerfile And Docker Compose
Published: at 03:39 PMLinux文件系统由bootfs与rootfs两部分构成
-
3-Docker应用部署
Published: at 02:18 AM1. 搜索镜像
-
2-Docker容器数据卷
Published: at 10:41 PM实际开发中,数据的持久化以及数据交互都是十分重要的功能,所以Docker需要处理以下问题
-
1-Docker概述
Published: at 07:47 PM> Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。
-
13-DCL用户管理语言
Published: at 04:36 AM```sql
-
12-分支结构,循环结构
Published: at 04:32 AM```sql
-
11-存储过程和函数
Published: at 04:31 AM```sql
-
10-变量
Published: at 04:27 AM```sql
-
9-视图
Published: at 12:19 AM虚拟表,可以和普通表一样使用。MySQL5.1版本出现的新特性,是通过表动态生成的数据,也就是说行和列的数据都来自定义识图的查询中使用的表,只保存sql逻辑,不保存查询结果
-
8-TCL事务控制语言
Published: at 12:06 AM**Transaction Control Language 事务控制语言**
-
7-标识列或自增长列
Published: at 10:46 PM```sql
-
6-数据类型与常见约束
Published: at 10:27 PM```sql
-
5-DDL数据定义语言
Published: at 10:24 PM1. 库的管理: 创建,修改,删除
-
4-DML数据操控语言
Published: at 09:59 PM```sql
-
2-SQL语言中的函数
Published: at 06:22 AM将一组逻辑语句封装在方法体内,对外暴露方法名
-
2-DQL数据查询语言
Published: at 06:10 AM```sql
-
1-MySQL简述
Published: at 04:04 AM> 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
-
3-传输层
Published: at 12:18 AM传输层是整个TCP/IP协议栈核心之一,位于网络层之上,应用层之下。利用网络层的服务,为上层应用层提供服务。与网络层类似,传输层也拥有面向连接的服务与无连接的服务两种,**用途在于提供高效的可靠的,性价比高的数据传输**
-
19-MyBatis注解开发
Published: at 11:43 PMMyBatis同时支持注解开发模式,在面对简单的配置时,注解开发可以明显的减轻开发难度
-
18-MyBatis多表操作
Published: at 06:52 PM以用户-订单模型为例,假定用户与订单之间是一一对应的关系,建立如下数据库
-
17-MyBatis映射文件与核心配置文件深入
Published: at 08:53 PM可以看到,在之前的映射文件中,所有sql语句都是写死的,并不会根据我传入参数的不同进行区分,但在实际开发过程中,可能需要执行sql语句查询前先进行逻辑判断或其他操作,对参数进行简单的判断
-
16-MyBatis概述
Published: at 08:36 AM- 数据库的连接创建,释放频繁造成系统资源浪费从而影响系统性能
-
15-SpringMVC异常处理
Published: at 07:23 AM系统中异常主要包括两部分,[编译时异常与运行时异常] [Spring,SpringMVC](https://ywrby.cn/2021/03/03/1-%E5%BC%82%E5%B8%B8/),前者可以通过捕获异常从而获取异常信息,后者主要通过规范代码格式,测试等手段减少异常出现
-
14-SpringMVC拦截器
Published: at 05:40 AMSpringMVC中的拦截器作用类似Servlet中的[Filter]([djsis.com](http://localhost:4000/2021/03/03/19-Filter%E8%BF%87%E6%BB%A4%E5%99%A8/)),用于对处理器进行预处理与后处理
-
2-应用层
Published: at 06:53 AM参考模型中的各层一般都满足“应用下层的服务,为上层提供服务”,但应用层较为特殊,因为应用层没有上层,所以应用层直接为模型外的用户提供服务,应用层是最靠近用户的一层
-
13-SpringMVC文件上传
Published: at 03:00 AM- 表单项中type值为file
-
12-SpringMVC的请求
Published: at 08:40 PM客户端请求参数的格式:name=value&name=value...
-
1-计算机网络和因特网
Published: at 10:57 PM- 计算机网络:使用单一技术相互连接(连接介质可以是光纤,铜线,微波...)的自主(单台计算机具有独立自主性)计算机的互联集合
-
11-SpringMVC的数据响应
Published: at 10:27 PM直接返回字符串,此种方法会将返回的字符串与视图解析器的前后缀拼接后进行页面跳转
-
10-SpringMVC简介及组件解析
Published: at 03:58 AM经典MVC(Model View Controller)模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
-
27-登录注册页面基本实现
Published: at 03:40 AM```html
-
26-Jedis
Published: at 03:40 AM```java
-
25-Redis
Published: at 03:40 AMRedis是一款高性能的NoSQL系列的非关系型的数据库
-
24-JSON
Published: at 03:39 AMJavaScript 对象表示法(JavaScript Object Notation)。如今主要用于做存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。
-
23-Ajax
Published: at 03:39 AM异步和同步: 客户端和服务器端相互通信的基础上
-
22-jQuery深入
Published: at 03:39 AM- html():获取/设置元素标签体中的内容
-
21-jQuery基础+选择器
Published: at 03:39 AMjQuery是开源软件,使用MIT许可证授权。 jQuery的语法设计使得许多操作变得容易,如操作文档对象(document)、选择文档对象模型(DOM)元素、创建动画效果、处理事件、以及开发Ajax程序。jQuery也提供了给开发人员在其上创建插件的能力。这使开发人员可以对底层交互与动画、高级效果和高级主题化的组件进行抽象化。模块化的方式使jQuery函数库能够创建功能强大的动态网页以及网络应用程序。
-
20-Listener监听器
Published: at 03:34 AM- 事件:一件事务
-
19-Filter过滤器
Published: at 03:34 AM当访问服务器资源时,过滤器可以将请求提前拦截下来,完成一些特殊的操作。一般用于完成通用操作(检查是否登录,统一编码处理,敏感词汇处理等...)
-
18-MVC开发模式
Published: at 03:34 AM经典MVC(Model View Controller)模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
-
17-Session
Published: at 03:34 AM服务器端会话技术,再一次对话的多次请求间共享数据,数据存储在服务器端的对象中(HttpSession)
-
16-JSP基础
Published: at 03:34 AMJava Server Pages:Java服务器端页面,在该页面中既可以定义Java代码,也可以定义html标签,主要用于简化书写
-
15-会话技术与Cookie
Published: at 03:34 AM一次会话中包含多次请求和相应,浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止,会话结束
-
14-下载案例
Published: at 03:34 AM```html
-
13-ServletContext
Published: at 03:34 AM代表整个web应用,可以和程序的容器进行通信
-
12-Request对象+Response对象
Published: at 03:34 AM- request对象和response对象是由服务器创建的,供程序员使用的对象
-
11-Http概述
Published: at 03:34 AM定义了客户端和服务器端通信时,发送数据的格式
-
10-Servlet
Published: at 03:34 AM运行在服务器端的小程序
-
9-web服务器软件概述+Tomcat
Published: at 03:28 AM安装了服务器软件的计算机
-
8-XML概述
Published: at 03:28 AMExtensible Markup Language可扩展标记语言(可扩展指XML中的所有标签都是自定义的)
-
7-软件架构,资源分类
Published: at 03:28 AM客户端/服务器端
-
6-JDBCTemplate
Published: at 03:28 AMSpring JDBC是Spring框架对JDBC的简单封装,其中提供了JDBCTemplate对象简化JDBC开发
-
5-数据库连接池
Published: at 03:28 AM> 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。(用户访问更加高效,消耗资源减少)
-
4-JDBC
Published: at 03:28 AM本质是sun公司制作的一套操作所有关系型数据库的规则,即接口。各个数据库厂商负责实现这些接口,提供响应的数据库驱动jar包,我们可以使用这套接口(JDBC)编程,最终真正执行的是数据库驱动jar包中的实现类
-
3-注解
Published: at 03:28 AM> 从JDK5开始,Java增加对元数据的支持,也就是注解,注解是一种代码级别的说明。注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。
-
2-反射
Published: at 03:27 AM框架设计的灵魂,反射机制就是指将类的各个组成部分封装成其他对象
-
1-Junit单元测试
Published: at 03:27 AM- 黑盒测试:
-
4-Bootstrap前端框架
Published: at 03:22 AM> Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
-
3-DOM
Published: at 03:22 AM------
-
2-BOM
Published: at 03:22 AM------
-
1-JavaScipt基础概念
Published: at 03:22 AM一门客户端脚本语言(客户端指运行在客户端浏览器中,每一个浏览器都有JavaScript解析引擎。脚本语言指不需要通过编译,直接就可以被浏览器解析执行)
-
15-初始化和清理
Published: at 08:59 PM初始化和清理是涉及编程安全的两个重要问题,在C语言中一直采取由程序员直接控制变量的初始化和清理,极易导致内存耗尽等问题出现
-
14-IO流
Published: at 08:59 PM**各个国家为自己国家的字符取的一套编号规则**,计算机底层只能存储二进制,二进制可以转成十进制,十进制可以进行整数编号,所以计算机底层可以存储编号规则
-
13-递归
Published: at 08:59 PM自己的放大中调用自己
-
12-File类
Published: at 08:59 PM**File类代表操作系统的文件对象**,是用来操作操作系统中的文件对象的,例如:删除文件,获取文件信息,创建文件/文件夹。广义来说,操作系统认为文件已经包含了文件和文件夹的概念
-
11-Stream流
Published: at 08:59 PM得益于Lambda所带来的函数式编程,用于解决已有集合/数组类库有的弊端
-
10-方法引用
Published: at 08:59 PM方法引用是为了进一步简化Lambda表达式的写法
-
9-Lambda表达式
Published: at 08:59 PM没有名字的局部内部类,匿名内部类的目的是为了简化代码。
-
8-并发包
Published: at 08:59 PM在实际开发中不考虑线程安全的情况下,一般不需要做线程安全处理,防止过多的处理导致性能变差
-
7-volatile关键字
Published: at 08:59 PM指多个线程访问共享变量,会出现一个线程修改变量的值后,其他线程看不到最新值的情况
-
6-死锁
Published: at 08:59 PM**死锁代表的是一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期阻塞,因此程序不可能正常终止**(例如:客户一方占用资金等待货物资源,经销商一方占用货物资源等待资金,双方都占用一种资源,并且都在等待一种资源,这就导致交易流程无法正常进行,也就形成了所谓的“死锁”)
-
5-线程池
Published: at 08:59 PM本质就是一个能够容纳多个线程的容器,其中的线程可以反复利用,省去了频繁创建线程对象的操作,无需因为反复创建线程对象而消耗过多资源
-
4-线程通信,线程状态
Published: at 08:59 PM多个线程因为在同一个进程中,所以互相通信比较容易
-
3-多线程安全问题,线程同步
Published: at 08:59 PM指的是多个线程操作同一个共享资源的时候可能会出现的线程安全问题
-
2-多线程
Published: at 08:59 PM程序是静止的,而运行中的程序就是进程
-
1-异常
Published: at 08:59 PM**异常是程序在“编译”或者“执行”的过程中可能出现的问题**
-
9-Spring集成web环境
Published: at 04:47 PM下面是之前一直采用的应用上下问的获取方法
-
8-Spring事务控制
Published: at 04:47 PM> 概括来讲,事务是一个由有限操作集合组成的逻辑单元。事务操作包含两个目的,数据一致以及操作隔离。数据一致是指事务提交时保证事务内的所有操作都成功完成,并且更改永久生效;事务回滚时,保证能够恢复到事务执行之前的状态。操作隔离则是指多个同时执行的事务之间应该相互独立,互不影响。
-
7-JDBCTemplate
Published: at 04:43 PM是Spring框架中的一个对象,是对原始繁琐JDBC API的封装
-
6-基于XML与注解的AOP开发
Published: at 04:39 PM1. 导入AOP相关坐标(Spring中AOP主要通过aspectj实现,所以要导入aspectjweaver)
-
5-AOP基础
Published: at 03:29 PMAOP是Aspect Oriented Programing(面向切面编程)的缩写,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
-
4-注解开发与Junit集成
Published: at 03:27 PMSpring是轻代码而重配置的框架,一般情况下,配置比较繁重,影响开发效率,所以注解开发是一种必然趋势,注解代替XML配置文件可以简化配置,提高开发效率
-
3-相应API与配置数据源
Published: at 03:24 PM- ClassPathXmlApplicationContext:从类的根路径下加载配置文件(即resources文件夹中)一般情况下都使用这种
-
2-Spring配置文件与依赖注入
Published: at 03:11 PM用于配置对象交由Spring来创建,默认情况下调用的是类中的无参构造函数,没有无参构造的情况下不能创建成功
-
1-Spring基础
Published: at 07:45 AMSpring是分层的Java SE/EE应用全栈(full-stack)轻量级开发框架,以IoC(Inverse of Control:反转控制)和AOP(Aspect Oriented Programing:面向切面编程)为内核