算法 源码 编码java

【Java基础】day16

day16 一、switch-case 和 if-else 谁更快? switch-case 在 switch-case 中,case 的值是连续的话,会生成一个 TableSwitch 来进行优化,这样的情况下,只需要在表中进行判断即可。 这里使用 0-4 的连续值来进行测试 如果说多加几个 Ca ......
基础 Java day 16

【Visual Leak Detector】源码下载

说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍 VLD 源码的下载。同系列文章目录可见 《内存泄漏检测工具》目录 1. 下载途径 以 v2.5.1 版本为例,可以到 Github-KindDragon-vld 页面下载 master 的 zip 源码包,如下所示: 也可以到 ......
源码下载 源码 Detector Visual Leak

Java:谈谈线程池的使用?

简介 线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。 核心参数 1、核心线程数 2、最大线程数 3、空闲线程最大存活时间 4、时间单位 5、线程等待队列 5、线程工厂 6、饱和策略 饱和策略 1、ThreadPoolE ......
线程 Java

Java第六次作业

1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值 package h; import java.util.Scanner; public class Test2 { public static void main(String[] args) { ......
Java

快速排序以及快速排序常用的三种算法

快速排序相比其他极大排序在效率和空间复杂度上都算是比较优得。并且在进行了三数取中优化以后,除了及其小的情况外,基本能保持logn的时间复杂度。 三数取中法;在一堆数据中随机取三个数,然后取其中间大小的数。 有了三数取中的基础以后,快速排序的key就可以用三数取中来完成了。 1:快速排序有三种常用的方 ......
算法 常用

QuHai互联科技 算法题部分

11、实现计算第n个斐波那契数 12、给定一个字符串编码规则,如输入字符串”Y3E12S!3”,字母后面的数字表示该字符重复几次,如果字符后没有数字则表示一个字符,最终输出转码后的字符串’YYYEEEEEEEEEEEES!!!’。试写出转码的函数,编程语言不限。 13、简述你所了解的两种或以上排序算 ......
算法 部分 QuHai 科技

扎实打牢数据结构算法根基,从此不怕算法面试系列之week01 02-09 测试算法时间复杂度性能的方式方法

#1、数组生成器 测试算法性能肯定不能自己手动声明创建数组了,在现代计算机上,对于O(n)级别的算法,都需要10W级别以上的数据才能看到性能,我们肯定不能手动声明10W个元素的数组吧? 所以,创建数组生成器。 这里,自己创建一个数组生成器——ArrayGenerator。 package com.m ......
算法 复杂度 数据结构 根基 性能

JAVA访问修饰符与关键字

访问修饰符 定义:Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 分类: private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部 类) default (即缺省,什么也不写): 在同一包内可见,不使用 任何修饰 ......
关键字 关键 JAVA

学习十大排序算法(1)——选择排序【实现方法c语言】

十大排序算法第一节——选择排序 复制代码直接滑到最后!!! 选择排序就是找到(最大或者)最小元素,放到最开始的位置,然后就是在没有排序的序列中找到最小的排在已经排好的序列之后,直至没有排数列排完。(自己的理解) 大概解释代码其中的细节:第6行中的sizeof的用法是求出括号里面的所占的字节数,比如s ......
算法 语言 方法

Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNot

(1)一开始的时候看到 Cause: java.sql.SQLException: 觉得是sql语句写错了,经过检查sql并没有错误 (2)再次看了下报错,后面还有半句话 Error setting driver on UnpooledDataSource.Cause: java.lang.Clas ......

JAVA第四次作业

int i,sum=0; for(i=1;i<=100;i++) { if(i%10!=3) sum=sum+i; } System.out.println("和为"+sum); int i,j,k,l; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++) { Syste ......
JAVA

java调用kotlin代码编译报错“找不到符号”的问题

项目拉下来编译提示找不到符号,截图如下: 其中LogRecordUtils这个类是用kotlin写的,在java中调用,尝试了各种方法,像Clean Project、Rebuild Project、Invalidate Caches这些都试过了,问题依然没解决,包括gradle版本也更换到高版本,问 ......
符号 代码 kotlin 问题 java

深入理解Java泛型、协变逆变、泛型通配符、自限定

禁止转载 重写了之前博客写的泛型相关内容,全部整合到这一篇文章里了,把坑都填了,后续不再纠结这些问题了。本文深度总结了函数式思想、泛型对在Java中的应用,解答了许多比较难的问题。 纯函数 协变 逆变 泛型通配符 PECS法则 自限定 Part 1: 协变与逆变 Java8 引入了函数式接口,从此方 ......
通配符 Java

vue2源码-十、diff算法

diff算法 diff算法的特点就是平级比较,内部采用了双指针方式进行优化,优化了常见的操作。采用了递归比较的方式。 针对一个节点的diff算法 先拿出根节点来进行比较如果是同一个节点则比较属性,如果不是同一个节点则直接换成最新的即可。 同一个节点比较属性后,复用老节点 比较儿子 一方有儿子 一方没 ......
算法 源码 vue2 diff vue

java -- 函数式编程

函数式编程 面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是怎么做。 有时只是为了做某事情而不得不创建一个对象,而传递一段代码才是我们真正的目的。 Lambda Lambda是一个匿名函数,可以理解为一段可以传递的代码。 当需要启动一个线 ......
函数 java

Java学习笔记(二)

1.请描述标识符的命名规则 答:(1)由26个英文字母大小写,数字,_或$组成。 (2)不能以数字开头。 (3)不能使用关键字和保留字(指已经定义过的变量),但是可以包含关键字和保留字。 (4)严格区分大小写,无长度限制。 (5)不能有空格。 2. 请描述数据类型存在的意义 数据有明确的类型划分,为 ......
笔记 Java

Java学习笔记(一)

1、JDK,JRE,JVM三者之间的关系、 答:JDK是编译环境,集成了JRE和一些JAVA开发工具包。JRE是运行环境。JVM是一种平台软件,负责将字节码文件解释成机器码并提交操作系统执行。将.class文件解释并提交操作系统。 2、为什么要配置环境变量 配置环境变量:为了在系统中的任何位置都可以 ......
笔记 Java

福特-富克森算法

福特-富克森(Ford-Fulkerson)算法是一种求解最大流问题的经典算法,它的基本思想是通过不断地增广路径来找到最大流。 最大流问题通常是指在网络中找到从源点到汇点的最大流量,其中网络由若干条有向边组成,每条边都有一个容量,表示该边可以通过的最大流量。最大流问题的目标是找到一个流,使得从源点到 ......
算法

分而治之算法

分而治之算法(Divide and Conquer Algorithm)是一种基于递归的算法思想,将问题划分为若干个子问题,逐个解决子问题并将它们合并成原问题的解。 分而治之算法通常包括以下步骤: 分解:将原问题分解为若干个子问题,这些子问题的结构与原问题相同或类似,但规模更小。 解决:递归地解决每 ......
算法

Dijkstra的算法

Dijkstra算法是一种单源最短路径算法,用于在带有非负权重的图中,找到一个源节点到所有其他节点的最短路径。该算法的基本思想是通过贪心的方式逐步扩展当前已知的最短路径集合,直到找到源节点到所有其他节点的最短路径。 Dijkstra算法的具体步骤如下: 初始化:设置源节点到自己的距离为0,将源节点标 ......
算法 Dijkstra

兔子产子问题(递归算法)

#include<iostream>using namespace std;int f(int n){ if (n == 1 || n == 2) return 1; return f(n - 1) + f(n - 2);}int main(){ int i; for (i = 0; i < 30; ......
算法 兔子 问题

浪潮集团Java研发实习

2023.4.19 上网课上多久 三个项目最熟悉那几个 SpringBoot常见注解 SpringBoot配置 数据库配置url时区 自己写各个层? 框架生成 . Mybatis #和$用法 5. Mysql分组关键字 事务使用过吗 Vue怎么创建 ......
浪潮 集团 Java

关于Java中对象的向上转型和向下转型

什么是多态? 同一个类调用同一个方法会产生不同的影响/结果 这就是多态 public class Pet{ public void eat(){ System.out.println("Pet eat...") } } class Dog extends Pet{ public void eat() ......
对象 Java

Spring源码系列:核心概念解析

Spring框架中有许多关键组件,理解这些组件的作用和关系可以帮助我们更好地阅读和理解Spring源码。BeanDefinition是Spring中重要的概念,定义了一个Bean的基本属性和行为,是Spring容器管理Bean的基础。我们可以通过注解或编程方式定义BeanDefinition,然后将... ......
源码 核心 概念 Spring

Java SE

Java SE 第一个程序 编写好之后在dos窗口,先执行javac Hello.java生成.class文件,再执行Java Hello 转移字符 \t 表示制表符相当于tab\n 换行 为什么局部变量要初始化? Math类 可变参数 int... i ...表述参数的个数不确定,他只能放在参数的 ......
Java SE

每日八股文之Java

1、如何利用Redis实现一个分布式锁? 为什么要实现分布式锁、实现分布式锁的方式 理论+实操:158、缓存-分布式锁-分布式锁原理与使用哔哩哔哩bilibili 实现分布式锁的方式: 方案一:SETNX + EXPIRE 方案二:SETNX + value值是(系统时间 + 过期时间) 方案三:使 ......
八股文 八股 Java

关于Java中方法重载和方法重写

方法重写是子类继承父类(默认继承Object类)后覆盖父类的方法 需要保证同名 同参 同返回值 且访问权限范围不能缩小(public>protected>default>private) public class Father{ public int method(){ return -1; } } ......
方法 Java

java笔记

String 提供的方法 contains 判断字符串中是否存在该字符 eg:String name = "123"; boolean contains = name.contains("1"); //true ......
笔记 java

java-普通内部类和静态内部类区别

静态内部类相对与外部类是独立存在的,在静态内部类中无法直接访问外部类中的变量、方法。如果要访问的话,必须要new一个外部类的对象,使用new出来的对象来访问。 但是可以直接访问静态变量,调用静态的方法。 普通内部类作为外部类一个成员而存在,在普通内部类中可以直接访问外部类属性,调用外部类的方法。 如 ......
静态 java

java创建对象的几种方法

Java一共有5种方法可以来创建对象 例如对象User; 使用new的方式来创建对象,new User(), 这种方法使用了构造器 2.使用class的newInstance() 例如:User user = User.class.newInstance(); 这种方法也使用了构造器 3.使用 Co ......
对象 方法 java