算法 源码 编码java

java基础-异常

1.简介 如果某个方法不能按照正常的途径完成任务,在这种情况下会抛出一个封装了错误信息的对象,此时这个方法会立刻退出同时不返回任何值,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器 自定义异常的话是继承一个异常类,通常是RumtimeException或者Excepti ......
基础 java

【Java 并发】【十】【JUC数据结构】【二】BlockingQueue阻塞队列原理

1 前言 这节我们就来看看BlockingQueue阻塞队列是什么都有哪些具体实现。 2 BlockingQueue阻塞队列是什么 BlockingQueue阻塞队列,它是一个提供阻塞功能的队列容器。首先它是一个队列容器,能够存储东西,提供数据入队功能,进行数据存入;提供数据取出功能,进行出队,如下 ......

《剑指Offer》算法汇总-helloxf

package javaTest.javaBase.算法; import sun.plugin.javascript.navig.Array; import java.math.BigDecimal; import java.util.*; import java.util.concurrent.C ......
算法 helloxf Offer

java-信息安全(二十)国密算法 SM1,SM2,SM3,SM4

一、概述 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口 ......
SM 算法 信息 java SM1

快速幂算法

快速幂算法 设计一个算法计算$x^n$的值。 根据定义最常见也最能瞬间想到的是如下的算法: // 递归写法 public int pow1(int x, int n) { if (n == 0) return 1; if (n == 1) return x; return x * pow1(x, n ......
算法

java基础-序列化和拷贝

1.序列化 1.1.定义 如果我们需要持久化Java对象,或者在⽹络传输Java对象,这些场景都需要⽤到序列化,简单来说序列化就是将数据结构或对象转换成⼆进制字节流的过程,反序列化就是将在序列化过程中所⽣成的⼆进制字节流转换成数据结构或者对象的过程 对于Java这种⾯向对象编程语⾔来说,我们序列化的 ......
序列 拷贝 基础 java

java基础-代理

1.代理简介 2.静态代理 3.动态代理 3.1.jdk 使用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理,JDK创建代理对象效率较高,但是执行效率较低 使用流程:实现InvocationHandler接口,重写invoke(),使用Proxy.newP ......
基础 java

Java生成PDF几种方式

## 1、itextPDF直接填充<!-- PDF工具类 --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13</version> </dependency ......
方式 Java PDF

java基础-反射

1.反射定义 反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法,并且对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能称为Java反射机制 动态语言定义:动态语言是指程序在运行时可以改变其结构,新的函数可以引进,已有的函数可以被删除。比如 ......
基础 java

使用chatgpt(GPT-4)将过程式(的java代码)改成函数式(的elixir代码)

天啦噜太可怕了,之前我还嘲笑chatgpt不会小众语言来着。 chatgpt(GPT-4)把过程式(的java代码)改成了函数式(的elixir代码)。chatgpt(GPT-4)在接收2次prompt后,给出的Elixir代码可以不经修改直接AC。 如果你用的是GPT-3.5的版本,它甚至不知道e ......
代码 程式 函数 chatgpt elixir

剑指offer05(Java)-替换空格(简单)

题目: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy."输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 来源:力扣(LeetCode)链接:https://leetcode.cn/pr ......
空格 offer Java 05

java基础知识合集-io

1.IO简介 2.IO分类 2.1.流分类 按照流的流向分,可以分为输入流和输出流 按照操作单元划分,可以划分为字节流和字符流 按照流的角色划分为节点流和处理流 Java lO流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在紧密的联系,Java lO流的40多个类都是从如下 ......
基础知识 基础 知识 java io

Java标准类

Java标准类 标准类的定义 类的代码 public class Person { /* 标准类: 1.所有成员变量都用private修饰 2.每个成员变量都有一个getter,setter方法 3.一个无参构造方法 4.一个全参构造方法 这样的标准类也叫Java Bean */ private S ......
标准 Java

算法-递归三(树形结构)

public class Solution { public IList<IList<int>> Permute(int[] nums) { var rtItem = new List<int>(); var visited= new Dictionary<int, bool>(); IList<I ......
树形 算法 结构

java中操作redis

......
redis java

Java编程思想

......
思想 Java

java面向对象编程-三大特性

面向对象三大特性 封装 该露的露,该藏的藏 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过数据接口来访问,这称为信息隐藏。 属性私有,get ......
特性 对象 三大 java

delphi中Base64编码转成PDF文件

Base64编码转成PDF文件 PDF文件转成Base64编码: 首先,将PDF文件加载到MemoryStream中:varms:TMemoryStream;beginms:=TMemoryStream.Create;try ms.LoadFromFile('file.pdf'); 然后,使用TId ......
编码 文件 delphi Base PDF

Spring 源码解析 --AOP

......
源码 Spring AOP

高通正式开源 aptX 和 aptX HD 编码器

导读 蓝牙音频的传输质量在过去这些年有了非常显著的进步,尤其是各大手机厂商开始陆续取消耳机接口,蓝牙音频的发展速度更是加快了不少,用户从一开始只能听个响到现在用蓝牙也可以听无损。 说到音频编解码,目前市场上采用比较广泛的应该是 SBC 和 AAC,还有高通主导的 aptX、aptX HD,以及苹果的 ......
编码器 aptX 编码 HD

拥塞控制算法

典型拥塞控制算法思路 在互联网发展的过程当中,TCP 算法也做出了一定改变,先后演进了 Reno、NewReno、Cubic 和 Vegas,这些改进算法大体可以分为基于丢包和基于延时的拥塞控制算法。 基于丢包的拥塞控制算法以 Reno、NewReno 为代表,这类基于 AIMD 的算法只要未检测到 ......
算法

Java8新特性枚举&注解&lambda表达式

枚举 1.概述 枚举是指将变量的值一一列出来,而且变量的值只限于列举出来的值的范围内。比如:一周只有7天。 2.枚举的基础代码 package com.darksnow.enums; public enum Direction { FRONT, BEHIND, LEFT, RIGHT; } //上述 ......
注解 表达式 amp 特性 lambda

spring6.0.x源码调试环境搭建

效果 搭建一个spring源码调试环境,创建一个spring-demo模块,写一些测试代码。 给源码添加注释。 给源码打包 ubantu环境下搭建spring6.0.x源码环境 步骤 源码网址 Spring Framework 下载代码 fork到自己的GitHub仓库,然后拉代码 git clon ......
源码 spring6 环境 spring

java学习日记20230410-Collection

Collection接口实现类的特点: public interface Collection<E> extends Iterable<E> collection实现子类可以存放多个元素,每个元素可以是object 有些Collection的实现类,可以存放重复的元素,有些不可以 有些Collect ......
Collection 20230410 日记 java

【Java 并发】【十】【JUC数据结构】【一】CopyOnWriteArrayList原理

1 前言 我们前面看过了volatile、synchronized以及AQS的底层原理,以及基于AQS之上构建的各种并发工具,ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier,那么我们这节该看什么了,是不是要看运用了。在日常的业务编程中经常使用 ......

01java基础入门

01java基础入门 Java是一门跨平台语言,一次编写,处处运行 Java能够跨平台原因,是因为有各类型的jvm,且各个Jvm不跨平台 写代码(java)->编译(class)->执行class jvm:Java虚拟机 jre:jvm+核心类库 :只能运行Java程序,但不能开发 jdk:jre ......
基础 java 01

02第一个Java程序详解

第一个java程序详解 public class Test { public static void main(String[]args){ System.out.println("hello world"); } } class后面的称之为类名 public class后面的类名必须和文件名保持一 ......
程序 Java

基于蛙跳算法的最优值计算matlab仿真

1.算法描述 蛙跳算法是基于种群进化的元启发式算法之一,通过模拟自然界中青蛙觅食过程中种群所体现出的交流与合作行为,以实现对问题的求解。在一片湿地中,分布着一群青蛙,每只青蛙有自己的想法,每只青蛙的想法则被定义为一个解。每只青蛙找到食物时,都会向其周围的青蛙传递信息,从而影响周围青蛙向其靠近,形成一 ......
蛙跳 算法 matlab

贪心算法

最小生成树 在无向图中选出$|V|-1$条边,使得生成树的边权和最小,这就是最小生成树问题。 我们有一个看上去有些草率的做法:给所有边按照权值从小到大排序,假设所有边都消失了,那么以从小到大的顺序加边(如果这条边对应的两点间已经有路径就跳过不加),等到加完第$|V|-1$条边时,我们会得到一棵“生成 ......
算法

C4.5分类树算法介绍

为什么C4.5会出现? 因为ID3算法节点的分支越多,信息增益也就越大,这会出现过拟合的现象,因此提出C4.5算法。 图1 C4.5的属性选择方法——获利比例 获利比例=信息增益/分支度IV 分支度IV与各分支下的类别数目之比成负相关: 假如14个样本一共分4支: 划分方法1为:分支1数目:分支2数 ......
算法 C4