-
PHPH达成水仙花数的5个示例
所属栏目:[教程] 日期:2021-11-12 热度:101
水仙花数是指一个 n 位数 ( n3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 3^3+ 5^3 = 153) 方法一、 ?php for($q=1;$q=9;$q++){ for($w=0;$w=9;$w++){ for($e=0;$e=9;$e++){ if($q*$q*$q + $w*$w*$w + $e*$e*$e == 100*$q + 10*$w + $e[详细]
-
C语言中static关键字影响
所属栏目:[教程] 日期:2021-11-12 热度:79
static修饰变量 1 在块中使用static修饰变量 它具有静态存储持续时间、块范围和无链接。 即作用域只能在块中,无法被块外的程序调用;变量在程序加载时创建,在程序终止时结束。 它只在编译时初始化一次。如果没有显式初始化,默认初始化为0. #include stdio[详细]
-
LRU算法原理介绍
所属栏目:[教程] 日期:2021-11-12 热度:161
LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,是为虚拟页式存储管理服务的。 现代操作系统提供了一种对主存的抽象概念虚拟内存,来对主存进行更好地管理。他将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动[详细]
-
Redis中的LRU淘汰计划分析
所属栏目:[教程] 日期:2021-11-12 热度:183
Redis作为缓存使用时,一些场景下要考虑内存的空间消耗问题。Redis会删除过期键以释放空间,过期键的删除策略有两种: 惰性删除:每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。 定期删除:每隔一[详细]
-
Java中转发和重定向的介绍
所属栏目:[教程] 日期:2021-11-12 热度:52
重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过 程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,[详细]
-
C语言 const关键字的实施
所属栏目:[教程] 日期:2021-11-12 热度:90
一、常规用法 关键字const用来定义只读变量,被const定义的变量它的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量,这也就意味着必须在定义的时候就给它赋初值。 用const修饰变量的格式通常为 const type na[详细]
-
C语言枚举类型enum介绍
所属栏目:[教程] 日期:2021-11-12 热度:192
enum enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值,[详细]
-
关于Java异常处理机制深入介绍
所属栏目:[教程] 日期:2021-11-12 热度:185
Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。 异常简介 在程序中,错误可能产生于程序员没有预料到的各种情况,或者超出程序员可[详细]
-
Java八大排序算法之插入排序介绍
所属栏目:[教程] 日期:2021-11-12 热度:65
八大排序算法之插入排序(动图演示 思路分析 实例代码Java 复杂度分析) 一、动图演示 二、思路分析 例如从小到大排序: 1. 从第二位开始遍历, 2. 当前数(第一趟是第二位数)与前面的数依次比较,如果前面的数大于当前数,则将这个数放在当前数的位置上,当[详细]
-
Java并发之阻塞队列畅聊
所属栏目:[教程] 日期:2021-11-12 热度:62
背景 因为在工作中经常会用到阻塞队列,有的时候还要根据业务场景获取重写阻塞队列中的方法,所以学习一下阻塞队列的实现原理还是很有必要的。(PS:不深入了解的话,很容易使用出错,造成没有技术深度的样子) 阻塞队列是什么? 要想了解阻塞队列,先了解一[详细]
-
Java高并发之锁的使用以及原理畅聊
所属栏目:[教程] 日期:2021-11-12 热度:95
锁像synchronized同步块一样,是一种线程同步机制。让自Java 5开始,java.util.concurrent.locks包提供了另一种方式实现线程同步机制Lock。那么问题来了既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock呢?这个问题我们下面讨论java.[详细]
-
Spring Boot中自定义注解+AOP达成主备库切换
所属栏目:[教程] 日期:2021-11-12 热度:75
摘要: 本篇文章的场景是做调度中心和监控中心时的需求,后端使用TDDL实现分表分库,需求:实现关键业务的查询监控,当用Mybatis查询数据时需要从主库切换到备库或者直接连到备库上查询,从而减小主库的压力,在本篇文章中主要记录在Spring Boot中通过自定义注解[详细]
-
Restful API 中的错误解决
所属栏目:[教程] 日期:2021-11-12 热度:167
简介 随着移动开发和前端开发的崛起,越来越多的 Web 后端应用都倾向于实现 Restful API。 Restful API 是一个简单易用的前后端分离方案,它只需要对客户端请求进行处理,然后返回结果即可, 无需考虑页面渲染,一定程度上减轻了后端开发人员的负担。 然而,[详细]
-
JVM 整体流程详解
所属栏目:[教程] 日期:2021-11-12 热度:72
一、 JVM自身的物理结构 从图中可以看出 JVM 的主要组成部分 ClassLoader(类加载器),Runtime Data Area(运行时数据区,内存分区),Execution Engine(执行引擎),Native Method Library(本地库接口) 这四大组成部分可以用文字描述如下。JVM 是执行 J[详细]
-
Spring4+Springmvc+quartz达成多线程动态定时调度
所属栏目:[教程] 日期:2021-11-12 热度:162
scheduler定时调度系统是大多行业项目都需要的,传统的spring-job模式,个人感觉已经out了,因为存在很多的问题,特别是定时调度的追加、修改、删除等,需要修改xml,xml的配置生效无非是热部署灰度发布方案或者直接停止、重启服务器,完全不能做到自动启动[详细]
-
Python中断言assert的认识和用法
所属栏目:[教程] 日期:2021-11-12 热度:118
使用assert断言是学习Python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。本文主要是讲assert断言的基[详细]
-
几种自定义Spring生命周期的初始化和销毁技巧
所属栏目:[教程] 日期:2021-11-12 热度:52
Bean 的生命周期指的是 Bean 的创建、初始化、销毁的过程。Spring 提供了一些方法,可以让开发自定义实现在生命周期过程中执行一些额外操作。 1、在注解 @Bean 中指定初始化和销毁时执行的方法名。 @Component public class Cat { public Cat() { System.out.[详细]
-
Python多线程同步实例详解
所属栏目:[教程] 日期:2021-11-12 热度:88
进程之间通信与线程同步是一个历久弥新的话题,对编程稍有了解应该都知道,但是细说又说不清。一方面除了工作中可能用的比较少,另一方面就是这些概念牵涉到的东西比较多,而且相对较深。网络编程,服务端编程,并发应用等都会涉及到。其开发和调试过程都不[详细]
-
Spring 介绍配置Bean
所属栏目:[教程] 日期:2021-11-12 热度:54
一、使用注解配置Bean 1、注解 在类定义、方法定义、成员变量定义前使用。其简化bean标签,功能同bean标签。 格式为: @注解标记名。 2、组件扫描 Spring可以从classpath(类路径)下自动扫描、实例化具有特殊注解的组件。 常用注解: (1)@Repository 一般[详细]
-
Java InvocationHandler 与 Proxy 动态代理介绍
所属栏目:[教程] 日期:2021-11-12 热度:125
Proxy 类 Proxy 类的 newProxyInstance 方法返回一个代理对象: public static Object newProxyInstance(ClassLoader loader, Class?[] interfaces, InvocationHandler h) throws IllegalArgumentException loader :一个类加载器,用 null 表示使用默认的类[详细]
-
Java快速排序和归并排序介绍
所属栏目:[教程] 日期:2021-11-12 热度:54
快速排序 概述 快速排序算法借鉴的是二叉树前序遍历的思想,最终对数组进行排序。 优点: 对于数据量比较大的数组排序,由于采用的具有二叉树二分的思想,故排序速度比较快 局限 只适用于顺序存储结构的数据排序(数组 ,ArrayList等),不适用于链式的数据[详细]
-
HashMap集合排序技巧
所属栏目:[教程] 日期:2021-11-12 热度:142
首先我们先来看看Map集合获取元素的三种常见方法(1)entrySet(),(2)keySet(),(3)values() 1. entrySet():(1)先返回map集合的所有映射的Set集合,这里规范每个映射的类型为Map.EntryK, V (2)再通过迭代取出所有的映射,再利用getKey()、getValue()[详细]
-
Java泛型使用的简单说明
所属栏目:[教程] 日期:2021-11-12 热度:169
一. 泛型是什么 泛型,顾名思义,泛指的类型。我们提供了泛指的概念,但具体执行的时候却可以有具体的规则来约束,比如我们用的非常多的ArrayList就是个泛型类,ArrayList作为集合可以存放各种元素,如Integer, String,自定义的各种类型等,但在我们使用的[详细]
-
Java集合 HashSet的原理及常用技巧
所属栏目:[教程] 日期:2021-11-12 热度:156
一. HashSet概述 HashSet是Java集合Set的一个实现类,Set是一个接口,其实现类除HashSet之外,还有TreeSet,并继承了Collection,HashSet集合很常用,同时也是程序员面试时经常会被问到的知识点,下面是结构图 public class HashSetE extends AbstractSetE im[详细]
-
TreeMap原理达成及常用方法
所属栏目:[教程] 日期:2021-11-12 热度:137
前面我们分别讲了Map接口的两个实现类HashMap和LinkedHashMap,本章我们讲一下Map接口另一个重要的实现类TreeMap,TreeMap或许不如HashMap那么常用,但存在即合理,它也有自己的应用场景,TreeMap可以实现元素的自动排序。 一. TreeMap概述 TreeMap存储K-V键[详细]

浙公网安备 33038102330459号