Java

《Effective Java》阅读笔记-第十章

Effective Java 阅读笔记 第十章 异常 第 69 条 只针对异常的情况才使用异常 说白了就是不要吧你的业务逻辑用异常来写。 举个反例 比如用抛出异常来遍历一个数组: 这种代码我只想说,那你可真是可小天才。 通常来说: 异常应该只适用于出现异常的情况下,它永远不应该用于正常的控制流。 设计良好的 API 不应该强迫调用者为了正常的控制流而使用异常。 比如Iterator&lt

《Effective Java》阅读笔记-第十二章

Effective Java 阅读笔记 第十二章 序列化 第 85 条 其他方法优先于 Java 本身的序列化 Java 本身的序列化漏洞过多,很容易被攻击。避免被序列化攻击的最好方式就是不要反序列化任何字节流,并且新的系统中没有任何理由使用 Java 本身的序列化。 JSON 和 Protobuf 是两种优秀的序列化方式,前者是基于文本, 后者是二进制的。 第 86 条 谨慎地实现 Serial

JS 中的二进制 - Blob 与 ArrayBuffer

零、参考资料 《图解 + 实战》File、Blob、TypedArray、DataView JavaScript也有操作二进制的一天:聊ArrayBuffer和Blob 聊聊JS的二进制家族:Blob、ArrayBuffer和Buffer 一、定义 宏观:Blob - 表示一个不可变、原始数据的类文件对象,可读不可写 微观:ArrayBuffer - 表示通用的原始二进制数据缓冲区,可读

02-21 记SpringBoot3 打包成exe的过程以及一些问题

先说说基本流程:(Windows环境,springboot v3.2.1) 1.首先maven pom.xml中加入如下代码 2.然后下载安装graalvm ,(以下链接是我使用的版本,也可以直接搜索官网下载最新版 https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_windows-x64_bin.zip 下载后解压,选择

java常量变量

标识符 标识符:给类,接口,方法,变量等起名时使用的字符序列 规则: 1.英文大小写构成 可以有数字,下划线_和$存在 规范 1.不能以数字开头 2.不能是Java中的关键字 3.区分大小写 4.要见名知意 5.不要出现除了下划线_和$以外的特殊字符 包(其实就是文件夹,用于解决相同类名问题) 由英文小写字符构成 ​ 单级:shujia ​ 多级: com.shujia

Java导入功能实现

今天记录一下Java实现导入数据到数据,导入失败显示如下,会告诉你哪里出错了。 controller代码实现 serviceImpl代码实现 checkFile ,主要是看下你的文件是否有问题 CheckWorkOrderListener  checkPointParam方法主要两个功能,一个是校验,另外一个是组装好待会要插入到数据库的对象 Vi

最简单的深拷贝和浅拷贝(原理)

拷贝:其实就是一个对象复制给另外一整个对象,让对象相互不影响。 对象的拷贝又分为浅拷贝和深拷贝 对象的浅拷贝:浅拷贝是指只复制对象的第一层属性,如果对象的属性值是引用类型(如对象、数组等),则复制的是引用,而不是真正的拷贝。 对象的深拷贝:深拷贝是指在复制对象时,不仅复制对象本身,还递归地复制对象所有的属性,直到所有属性都是基本数据类型(如字符串、数字、布尔值等),而不是简单地复制对象的引用。这样

《程序是怎么跑起来的》第七章

今天沃阅读了程序是怎么跑起来的,中的第七章,其中第七章分为6节,主要讲述了‘程序是在任何环境中运行的’对于这一章讲述了对于不同环境下无法实现运行问题的解决。 运行环境是指应用程序所依赖的操作系统和硬件设备的组合。操作系统提供了应用程序运行所需的基本功能,例如内存管理、文件系统和网络通信等。硬件设备则提供了应用程序所需的计算和存储能力。不同的应用程序可能需要不同的运行环境来实现其功能。通过驱动程序模

2024年初胡乱吐槽

  曾经的我心中一直觉得技术是一个很纯粹的东西,不断的追求自己技术真的很能满足自己心中的成就感。   还记得2018年刚刚接触java的时候,当时真的觉得打开了一个新世界的大门。当时网上还没有这么多系统的教学视频,也许是我没有找到,当时学完了javase之后我就迷茫了,因为我不知道自己该继续学什么?迷茫了......   最主要的是我不知道学的东西能用在哪里,因为就是基础的语法,都是在main方法

jQuery入门

原文链接:https://zhuanlan.zhihu.com/p/635366269 为什么要学jQuery?使用JavaScript开发过程中,有许多的缺点:查找元素的方法单一、遍历数组很麻烦,通常要嵌套一大堆的for循环有兼容性问题、想要实现简单的动画效果也很麻烦、代码冗余。 为了解决这些问题,我们在JavaScript开发中使用jQuery来提高开发效率。 一、jQuery简介 1.1、j

04-JavaScript介绍

   注意:JS是脚本语言,不需要经过编译,直接经过浏览器的解释就可以运行了。而Java语言需要先编译成class文件,再通过虚拟机进行运行。          

面试题随笔-2月21日

Java–异常/Exception–try/catch/finally的return顺序 try块执行     ·try中的代码会先执行   ·try如果没用抛出异常则正常执行,如果存在return则会返回方法调用的地方 catch块执行   ·如果try块中的代码抛出一个异常,与catch字句匹配的异常类型将被捕获并执行相应的catch块内的代码。   ·如果catch块中有return语句,将

springboot jar 快速启停脚本

Window 启动 停止 附:logback-spring.xml

深入剖析如何设计订单超时自动取消的功能

我们在美团 APP 下单,假如没有立即支付,进入订单详情会显示倒计时,如果超过支付时间,订单就会被自动取消。 这篇文章,笔者想以架构师的视角,深入剖析如何设计订单超时自动取消的功能。 1 定时任务 首先,我们非常自然的想到定时任务的方案。 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支付的订单。 遍历查询出来的订单列表,判断当前时间减去订单的创建时间是否超过了支付超时时间,如果超时

/* istanbul ignore next */ 这个注释是什么意思

/* istanbul ignore next */ 是一个针对 Istanbul(或其后续项目 nyc)代码覆盖率工具的特殊注释。 当这个注释出现在 JavaScript 代码中,它指示 Istanbul 在生成代码覆盖率报告时忽略紧跟在该注释之后的一行或多行代码。 Istanbul 是一个流行的测试覆盖率工具,用于计算测试用例对代码库的覆盖程度。 通过添加 istanbul ignore ne

设计模式浅析(六) ·命令模式

设计模式浅析(六) ·命令模式 日常叨逼叨 java设计模式浅析,如果觉得对你有帮助,记得一键三连,谢谢各位观众老爷😁😁 命令模式 概念 命令模式(Command Pattern)是一种行为设计模式,它允许将请求封装为一个对象,从而使你可以使用不同的请求将客户端与接收者解耦。命令模式也支持可撤销操作。 命令模式结构 命令模式(Command Pattern)的结构包含以下四个主要角色: Com

java~用泛型来定义异常类型,避免方法调用时throws异常

我们一般在底层写方法时,如果方法显示throws异常,那么在调用时,也需要将这个异常throws出来,例如 调用时 如果调用时不显示throws出异常,编译器会报出错误,如下图 泛型类型声明异常 调用方法时,不需要再throws Ex了,这种对调用者更友好,如图 解释说明 在第一个方法中,使用了泛型类型来定义异常类型,因此在调用该方法时不需要显式声明throws Ex。这是因为编译器会根

java运算符(赋值,关系,逻辑,三目,位运算)

赋值运算符 赋值运算符: = += -= *= /= %= 面试题: 关系运算符 关系运算符(比较运算符):关系运算符一定是布尔类型的 == != > < >= <= 逻辑运算符 逻辑运算符:参与判断的是布尔类型,结果也是布尔类型 & | ^ ! &&

TS学习随笔

1,ts是什么 TypeScript 是 JavaScript 的超集,这意味着它可以完成 JavaScript 所做的所有事情,而且额外附带了一些能力。Typed JavaScript at Any Scale. 它强调了 TypeScript 的两个最重要的特性——类型系统、适用于任何规模。   JavaScript 本身是一种动态类型语言,这意味着变量可以改变类型。从 TypeSc

基于SSM的网上商城系统毕业设计论文【范文】

摘要 在数字经济时代背景下,电子商务迅猛发展,网上商城作为其重要组成部分,对于促进商业活动、满足消费者需求起到了关键作用。本文围绕基于Spring、SpringMVC和MyBatis(简称SSM)框架的网上商城系统的设计与实现进行研究,旨在提供一个高效、稳定、易维护的电子商务平台。 文章首先介绍了SSM框架的技术原理及其在网上商城系统开发中的应用优势。通过深入分析MVC设计模式与SSM框架的整合方

Weblogic XMLDecoder反序列化漏洞(CVE-2017-10271)复现

0x00 漏洞简介 Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。 Oracle Fusion Middleware中的Oracle WebLogic Server组件的

guava中eventbus用法

​ google的event 事件机制可以用于解耦,类似于spring的事件机制,可以同步也可以异步。 定时事件(类型随意,guava 调度的时候会根据对应的类型调对应的handler) 定义事件处理器 处理器1: 处理器2: 测试类: 异步测试,同步消息总线发消息和接收消息都是main 线程 结果: ​ 【当你用心写完每一篇博客之后,你会发现它比你用代码实现

linux java安装

目录linux java安装 linux java安装 下载最新java的包 https://www.oracle.com/java/technologies/downloads/ 下载rpm的包,

ant、maven、gradle对比

1、介绍 本文旨在探讨目前流行的三种项目构建工具,ant、maven、gradle,对于深入的使用和原理层面不做讨论。学习目的是,了解这三者的异同和各自的思想。 2、Apache Ant 最初,Make是唯一的构建自动化工具,它超越了自制的解决方案。Make从1976年就出现了,因此,在Java早期,被用于构建Java应用程序。 然而,C程序中的许多约定并不适合Java生态系统,所以随着时间的推

pkl cli 简单试用

以前简单介绍过apple 开源的pkl 配置即代码工具(当然也提供了语言上的支持),以下是一个简单试用 安装 mac 系统 cli 命令 curl -L -o pkl https://github.com/apple/pkl/releases/download/0.25.2/pkl-macos-amd64 chmod +x pkl ./pkl --version

dremio FileDatasetHandle 简单说明

FileDatasetHandle 是DatasetHandle的扩展,核心是对于文件系统类的处理(dremio 对于文件系统的支持主要是基于hdfs)同时支持对于不同表格式的处理(delta lake,iceber,parquet),单独说明FileDatasetHandle主要是因为此实现比较重要dremio 不少文件的处理都和此有关联 FileDatasetHandle的一些功能 配置选项

Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列

写在开头 队列是Java中的一个集合接口,之前的文章已经讲解了List和Set,那么今天就来唠一唠它吧。队列的特点:存储的元素是有序的、可重复的。 队列的两大接口Queue vs Deque Queue 是单端队列,只能从一端插入元素,另一端删除元素,实现上一般遵循 先进先出(FIFO) 规则。 Queue 接口 抛出异常 返回特殊值 插入队尾 add(E e) offer(E e)

Vue3组合式API之getCurrentInstance详解

Vue2中,可以通过this来获取当前组件实例;  Vue3中,在setup中无法通过this获取组件实例,console.log(this)打印出来的值是undefined。 在Vue3中,getCurrentInstance()可以用来获取当前组件实例  vue3官方文档解释 let { proxy } = getCurrentInstance(); &nb

[转帖]一次搞定 Unicode、字节序、UTF-*

茫茫人海中与你相遇 相信未来的你不会很差 作者:Tomson                       

[转]基于前端技术栈的PC跨平台桌面应用开发技术Electron简介及快速入门

原文地址:Electron简介及快速入门 - 知乎 大江东去:基于EA的软件工程创新理论与最佳实践 第四章:桌面应用系统开发基础及入门 第四节:Electron简介及快速入门 一、Electron基本介绍 官网地址:https://www.electronjs.org/ Electron是一个由OpenJS基金会维护的开源项目,也是一个活跃的贡献者社区。 Electron是一个使用JavaScr

<<  <  526  527  528  529  530  531  532  533  534  535  536  >  >>