多态性 对象java

Java: switch lambda-like syntax

The switch expression has an additional lambda-like syntax and it can be used not only as a statement, but also as an expression that evaluates to a s ......
lambda-like switch lambda syntax Java

对象 (构造函数)

创建对象三种方法 字面量创建 创建对象 new Object notice构造函数创建对象 ? 构造函数其实就是创建一个函数的母亲,用 new 母亲() 可以创建很多儿子 构造函数必须以大写字母开头 构造函数的函数体不需要写return 只能用 new 来创建新儿子函数 js中几乎所有的数据都可基于 ......
函数 对象

Golang与Java全方位对比总结

本文针对Golang与Java的基础语法、结构体函数、异常处理、并发编程及垃圾回收、资源消耗等各方面的差异进行对比总结,有不准确、不到位的地方还请大家不吝赐教。 ......
全方位 Golang Java

leetcode56.合并区间-java

1 class Solution { 2 public int[][] merge(int[][] intervals) { 3 /* 4 思路:左区间排序,若intervals[i][0] >= intervals[i-1][1]; 则重叠 5 将重叠区间新建放入res数组里,没重叠则放入原数组 ......
区间 leetcode java 56

Java之Stream流

Stream 学习Stream流需要先了解什么事函数式接口,因为在Stream中的方法参数大都为函数式接口。 函数式接口 有且只有一个抽象方法的接口。函数式接口可以有多个非抽象方法; Java中内置函数式接口 内置函数式接口:由java官方定义的一些常用的函数式接口。 消费型接口(Consumer) ......
Stream Java

我的Java项目实战--校园餐饮商户外卖系统 01

开发笔记01 1.软件开发整体介绍 软件开发流程 角色分工 项目经理:对整个项目负责,任务分配、把控进度 产品经理:进行需求调研,输出需求调研文档、产品原型等 U设计师:根据产品原型输出界面效果图 架构师:项目整体架构设计、技术选型等 开发工程师:代码实现 测试工程师:编写测试用例,输出测试报告 运 ......
商户 实战 餐饮 项目 校园

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

1 前言 这节我们就来看看LinkedBlockingQueue内部实现的原理。 2 LinkedBlockingQueue的使用 在看原理之前我们先来用一用LinkedBlockingQueue,来体验一下: 2.1 插入数据 public class LinkedBlockingQueueTes ......

java基础-异常

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

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

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

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

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

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

【入门】Go语言面向对象

一、面向对象简介 1.1 什么是面向对象? 面向过程:强调的是过程,每一步都是自己亲自实现的。 面向对象:强调的是对象,找一个专门做这个事情的,让它来完成,具体怎么实现的,我们不关心。 举个做饭的例子,如果是你自己亲手下厨,一步一步自己做,那这就是面向过程,如果你点外卖,或者去饭馆,那这就是面向对象 ......
对象 语言

剑指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

C++逆向分析——对象拷贝

对象拷贝 我们通常存储对象,都用数组、列表之类的来存储,那如下所示我们使用数组来存储对象,但是在工作中发现这个数组不够用了,就需要一个更大的数据,但我们重新创建一个数组还需要把原来的数据复制过来;在C语言中可以使用函数来进行拷贝,直接拷贝内存,在C++中实际上跟C语言要做的事情是一样的,在C++中就 ......
拷贝 对象

C++逆向分析——多态和虚表

虚表 上一章了解了多态,那么我们来了解一下多态在C++中是如何实现的。 了解本质,那就通过反汇编代码去看就行了,首先我们看下非多态的情况下的反汇编代码: 然后再来看下多态情况下的反汇编代码: 很明显这里多态的情况下会根据edx间接调用,而非多态则会直接调用。 那么我们来看下间接调用的流程是什么: e ......

java中操作redis

......
redis java

Java编程思想

......
思想 Java

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

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

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

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

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

C++函数重载和对象

函数的默认参数int fun(int a,int b=10,int c=20){return a+b+c;}int main(){cout<<fun(10)<<endl;//当参数有值时也可以输出正确,如果程序员加了返回值就用程序员加入的值。}形参的数据从左到右当中间有参数后面也需要定义一个函数和声 ......
函数 对象