Java
Strategy pattern and Polymorphism
Simple example - Computer and USB interface 现代人对计算机、USB接口还有各种设备之间的关系都很熟悉,而这些模块组成的系统正是策略模式的最佳范例。 定义策略的接口 接口实现 —— 每个接口实现类就是单个策略 为了保持简单,我们只为USB接口定义一个读取数据方法read(), 接下来就是各种USB设备实现类了,其中键盘、鼠标分别定义各自的实现类。
MySQL - 数据库设计(表之间的 3 种关联关系)
表与表之间一般存在三种关系,即一对一,一对多,多对多关系。 下面分别就三种关系讲解数据库相关设计的思路和思考过程。 一、一对一关系 例如,下面的一张表,保存了人的相关信息,有男有女,要求查处所有的夫妻。 sql代码:`CREATE TABLE IF NOT EXISTS person( id INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(10), se
一种基于Common Lisp的用lambda从头构建逻辑、整数、算数、斐波拉契的方案
绪论 本文参考视频教程,教程给出了一系列编程题目。该教程作者裘香莲已经基于JavaScript,用lambda运算从头构建了一系列编程基础概念。本文则对其编程题以Common Lisp语言另外给出答案。 逻辑与判断的实现 代码展示 程序分析 其中,原*if*(已被注释)以函数作为参数,这是《实用Common Lisp编程》中展示的一种编程特色,即某函数foo本身只提供抽象框架,具体功能依靠以参数
Java SE(1)-环境变量,字面量,进制,数据类型,标识符命名规则
p4 常用CMD命令 盘符+冒号 盘符切换 dir 查看当前路径下内容 cd 目录 cd cd.. cd 目录1 目录2 ... 进入多级目录 cls 清屏 exit 退出 在cmd中也有代码补全功能, 为Tab键 win+E 键 打开我的电脑 p5 环境变量 想要把任何目录下可以打开指定软件, 就可以把软件的路径配置到环境变量中. 右键我的电脑 - 系统属性 - 高级 - 环境变量 - 系
Java 通过Properties类读取配置文件
Properties类 Properties类的介绍 在Java中提供了 java.util.Properties 类,来读取 .properties 属性文件。在程序调用 Properties 类的 load() 方法时,系统把 .properties 属性文件的内容加载到内存中。因为 Properties 类继承了 Hashtable 类,Properties 类把“=”之间的内容,添
JavaScript中的字符串
在JavaScript中,用于表示文本的类型称为字符串(String)。字符串是一个不可变的有序序列,由16位值组成,其中每个值代表一个Unicode字符。字符串的length属性表示它包含的16位值的数量。JavaScript的字符串(以及数组)使用从零开始的索引,因此第一个16位值的索引是0,第二个值的索引是1,依此类推。空字符串的长度为0。JavaScript没有单独的类型来表示字符串中的单
Exception during pool initialization
idea运行微服务时报错Exception during pool initialization,具体报错如下: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 原因之一是因为代码中.yml配置文件中配置的数据库用户名和密码,与实际idea中连接数据库的用户名和密码不相同
java怎么获取最新时间
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { Date time = new Date();//调用Date对象 SimpleDateFormat sdf = ne
SpringBoot内嵌Tomcat连接池分析
目录1 Tomcat连接池1.1 简介1.2 架构图1.2.1 JDK线程池架构图1.2.2 Tomcat线程架构1.3 核心参数1.3.1 AcceptCount1.3.2 MaxConnections1.3.3 MinSpareThread/MaxThread1.3.4 MaxKeepAliveRequests1.3.5 ConnectionTimeout1.3.6 KeepAliveTime
关于数据库配置时区问题
运行代码时,报如下错误 ERROR com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException - HikariPool-1 - Exception during pool initialization.java.sql.SQLException: The server time zone value 'Öйú±ê×¼Ê
android.os.handlerexecutor
android.os.HandlerExecutor是一个Android平台的Executor,它可以将任务发布到指定的Handler运行。可以将HandlerExecutor视为一种将任务提交到Handler的简单方法,与使用Handler.post(Runnable)相比,HandlerExecutor具有更好的可读性和可维护性。 在Android中,UI线程(也称为主线程)用于处理UI相关的
深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
什么是认证和授权?如何设计一个权限认证框架? 认证和授权是安全验证中的两个重要概念。认证是确认身份的过程,用于建立双方之间的信任关系。只有在认证成功的情况下,双方才可以进行后续的授权操作。授权则是在认证的基础上,确定用户或系统对资源的访问权限。 在设计一个权限认证框架时,可以考虑以下原则:资源、角色和主体。 资源:定义系统中的各种功能、数据或服务,例如页面、API接口等。 角色:角色是对用户或系
基于docker-compose搭建ES服务
一、单节点线下测试 拉取镜像 1、 进入实验机器 go 10.10.10.10 2、 拉取es 7.16.2镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.16.2 安装ik分词器 1、 启动容器 docker run -d -p 0.0.0.0:9200:9200 -p 0.0.0.0:9300:9300 -e "di
(随笔)关于java自动以unix时间戳格式接收Date数据类型导致的sql查询时间失误问题的相关研究
前言 在进行项目开发的时候,有遇到过mapper执行sql语言查询指定时间范围内或截止时间之前的数据时不查询当天时间内不同时分秒时的数据,接口实现逻辑为前端传入Date类型(精度为yyyy-MM-dd)起止时间,mapper.xml文件中通过concat_ws方法实现时间精度转换(数据库内数据精度为yyyy-MM-dd HH:mm:ss),查询结果再通过json格式返回前端。 代码 解释
java 读取各种类型的文件 (一)
Java可以用不同的库来读取各种格式的文档。下面是一些常见的文档格式以及相应的Java库: CSV文件:使用Apache Commons CSV库来读取和写入CSV文件。该库提供了一个简单易用的API。 Excel文件(xls和xlsx):可以使用Apache POI库来读取和写入Excel文件。该库支持旧版的xls文件和新版的xlsx文件。 PDF文档:用于处理PDF文档的Java库
【校招VIP】java语言考点之垃圾回收算法
考点介绍: 垃圾回收算法是必考题。GC中的垃圾指的是存在于内存中的、不会再被使用的对象。而垃圾回收就是把那些不再被使用的对象进行清除,收回占用的内存空间...... 一、考点题目 1、java中如何判断对象是否是垃圾? 解答:引用计数:在对象中添加一个引用计数器,如果被引用计数器加 1,引用失效时计数器减 1,如果计数器为 0 则被 ...... 2、下列对JVM垃圾回收的描述,不正确的是() A
java Swing:对话框(Dialog)怎么做?
对话框是桌面应用程序中一种很重要的组件,例如在删除一个文件的时候,系统就会用对话框的形式提醒用户是否确定要删除这个文件。Swing体系中有两类对话框:第一类是系统对话框,第二类是自定义对话框。系统对话框就是Swing体系已经定义好的对话框,它们的基本界面是Java基础类库已经设计好的,程序员只需要调用一个方法就能把这个对话框显示出来。而自定义对话框是指由程序员自己设计的对话框,这种对话框的界面完全
深克隆和浅克隆的区别
目录赋值操作浅克隆深克隆常见的深克隆方式1. 所有引用属性都实现克隆,整个对象就变成了深克隆。2. 使用 JDK 自带的字节流序列化和反序列化对象实现深克隆。3. 使用第三方工具实现深克隆4. 使用 JSON 工具参考 赋值操作 新对象通过复制原始对象得到 输出结果: user1和user2就是同一个对象 新对象user2中的基本类型和引用类型的属性都会随user1中的变化而变化 浅克隆
第二十四节 集合(List集合)
1.Collection集合 1.1数组和集合的区别【理解】 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 1.2集合类体系结构【理解】 1.3Collection 集合概述和使用【应用】 Collection集合概述 是单
java Swing 有没有文件夹选择器?
这两天做一个图形化软件需要选择文件并进行文件读取,因此需要使用到JAVA Spring中的文件选择框。 参考:https://blog.51cto.com/u_92655/6514099 参考2:https://blog.csdn.net/shalimu/article/details/128145834 如果要选择文件夹,则需要设置参数:
13 JavaScript关于prototype(超重点)
13 JavaScript关于prototype(超重点) prototype是js里面给类增加功能扩展的一种模式. 写个面向对象来看看. 我现在代码写完了. 突然之间, 我感觉好像少了个功能. 人不应该就一个功能. 光会吃是不够的. 还得能够ooxx. 怎么办? 直接改代码? 可以. 但不够好. 如果这个类不是我写的呢? 随便改别人代码是很不礼貌的. 也很容易出错. 怎么办? 我们可以在
Mac终端-bash No such file or directory以及执行操作时候command not found
问题记录,感谢参考博主分享 我们可以通过搭建临时路径的方式来找到bug。 我在调试Java环境的时候,在已经配好Java PATH的时候,错误的将当前的版本删除了,以至于我们找不到当前的版本了。 很显然,我们之前用过的vim操作,发生了一些冲突。 说明你的.bash_profile文件修改错误。 1.在终端输入export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/u
java实现大文件上传源代码
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭浏览器后再打开)仍然能够继续上传,重启电脑后仍然能够上传 支持文件夹的上传,
移动软件开发--第一个小程序
2023年夏季《移动软件开发》实验报告 一、实验目标 1、学习使用快速启动模板创建小程序的方法;2、学习不使用模板手动创建小程序的方法。 二、实验步骤 1、在微信公众平台登录微信获取AppID创建小程序 2、页面配置 按要求删除项目中部分文件,并补全在index.js与app.js中的代码 3、视图设计 3.1导航栏设计 更改app.json文件代码如下: 可以将导航栏背景色
Java实现灰度发布的常用方式
以下内容由 GPT 3.5 生成,仅用于参考并了解基本概念 什么是灰度发布 灰度发布(Gray Deployment),也称为渐进式发布或金丝雀发布,是一种软件发布策略,用于将新版本的软件或功能逐步引入生产环境,以降低可能出现的问题对整个系统的影响。这种发布方式的核心思想是将新功能或版本仅部分暴露给一小部分用户或流量,以便在真实环境中测试其稳定性和性能,然后逐步扩大发布范围,直至所有用户都能访