Java

Velocity和XTemplate(简称xtpl)模板

Velocity 和 XTemplate 是两种不同的模板引擎,它们用于在Web服务器或应用程序中动态生成HTML或其他文本格式。 Velocity: Velocity 是 Apache Software Foundation 领导的一个项目,它提供了一个基于Java的模板引擎。Velocity 使用类似于HTML的标记语法,并允许开发者在模板中插入引用动态内容的占位符。这些占位符被绑定到后端Ja

日志架构演进:从集中式到分布式的Kubernetes日志策略

当我们没有使用云原生方案部署应用时采用的日志方案往往是 ELK 技术栈。 这套技术方案比较成熟,稳定性也很高,所以几乎成为了当时的标配。 可是随着我们使用 kubernetes 步入云原生的时代后, kubernetes 把以往的操作系统上的许多底层都屏蔽,再由他提供了一些标准接口。 同时在 kubernetes 中的日志来源也比传统虚拟机多,比如可能有容器、kubernetes 自身的事件、日

线程池的运行逻辑与你想象的不一样,它是池族中的异类

只要是 web 项目,程序都会直接或间接使用到线程池,它的使用是如此频繁,以至于像空气一样,大多数时候被我们无视了。但有时候,我们会相当然地认为线程池与其它对象池(如:数据库连接池)一样,要用的时候向池子索取,用完后归还给它即可。然后事实上,线程池独树一帜、鹤立鸡群,它与普通的对象池就是不同。本文本将先阐述这种差异,接着用最简单的代码实现一个线程池,最后再对 JDK 中与线程池相关的 Execut

时序数据库IoTDB的安装与使用

Apache IoTDB(物联网数据库)是一体化收集、存储、管理与分析物联网时序数据的软件系统。 Apache IoTDB 采用轻量式架构,具有高性能和丰富的功能,并与Apache Hadoop、Spark和Flink等进行了深度集成,可以满足工业物联网领域的海量数据存储、高速数据读取和复杂数据分析需求。 装环境 安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_H

vue 高德地图 三维切换为二维

在Vue中使用高德地图进行三维与二维视图的切换,可以通过操作地图实例的setMapType方法来完成。以下是一个简单的示例: 首先确保安装并导入了高德地图的JavaScript API。 在Vue组件中,初始化高德地图,并创建地图实例。 使用一个方法来切换地图的视图模式。   在这个示例中,我们首先在data中定义了一个变量mapType来记录当前的视图模式。在mounted钩子中

安卓测试跟ios 测试有什么区别?

一、概览 安卓测试和 iOS 测试之间有一些区别,这些区别主要是由于两个平台的技术架构、开发工具和生态系统的差异导致的。以下是一些主要的区别:   二、具体内容 开发语言和框架: 安卓应用通常使用 Java、Kotlin 或者其他 JVM 语言进行开发,而 iOS 应用则使用 Objective-C 或 Swift。因此,安卓测试团队通常会使用 Java 或 Kotlin 编写测试代

A Guide to OkHttp

    A Guide to OkHttp           52.5M   A Simple Two Factor Implementation with a Soft Token (LSS - Module 14 - Lesson 1)     &

burpsuite安装激活

1、前置条件   1)已安装java,并且已正确配置环境变量(怎么配置环境变量很简单,这里就不赘述了);   2)java版本需1.8以上。 2、下载burpsuite。burpsuite有免费版和收费版,收费版本需要激活才能使用    第一个是注册机(用于生成秘钥),第二个也是注册机(区别在于它是中文) 3、运行注册机(BurpLoaderKeygen.jar)  &nbs

用 VuePress + GitHub Pages 零成本、零代码搭建个人网站

合集 - IT人必备技能(6)   1.如何使用jsDelivr+Github 实现免费CDN加速?2023-05-092.【云原生】这么火,你不来了解下?2023-05-113.打开windows批处理大门2023-05-134.没忍住终究还是对博客园下手了2023-07-265.手把手教你使用Vite构建第一个Vue3项目2023-09-05 6.怎么样零代码零成本搭建个人网站

JTCR-I/O,Try-with-Resources 及其他-11

I/O 基础 Java 的 I/O 操作通过流来实现。流是对输入、输出数据的抽象,每个流都和一个具体的物理实体关联,比如在输入中,流可以和键盘、磁盘文件或者网络输入等关联,虽然每个物理实体不同,但是流可以以同样的方式进行处理。 Java 定义了字节流和字符流。字节流处理的对象是二进制数据,以字节的方式处理。字符流处理的对象是字符,字符编码为 Unicode,方便国际化。最底层而言,所有的 I/O

自定义登录和登出页面

自定义登录 在默认的情况下,Spring Security为我们生成的登录登出页面如下: 我们可以自定义登录和登出页面,我们使用thymeleaf来编写登录页面,代码如下: 配置自定义登录相关设置: 登录成功之后跳转页面: 在现在的项目开发过程中,一般都是前后端分离的项目,后端只需要返回JSON数据,由前端自己进行跳转,那么我们可以进行如下配置: 上面分别配置了登录成功返回的JSON

JTCR-泛型-12

什么是泛型 具有参数化类型的类、接口或方法。具体的类型在运行时才确定。 在泛型出现前通过使用 Object 引用也可以达到泛型的效果,但是缺乏类型安全检查,泛型添加了这一点。 简单的泛型例子 JDK10 开始,不能使用 var 作为类型参数。任意合法的标识符都可以作为类型参数,但默认使用大写单字母,如 T/V/E。 上述代码中,在创建泛型对象时,编译器并没有创建对应版本的 Gen 类,而是移除了

JTCR-lambda 表达式-13

介绍 lambda 表达式本质上是一个匿名方法,用于实现函数式接口(functional interface)定义的方法。这就产生了匿名类。lambda 也称为闭包(closures)。 函数式接口是仅有一个抽象方法的接口。如 Runnable 接口仅有 run() 方法,该方法表明了接口的目的。函数式接口定义了 lambda 表达式的目标类型,lambda 表达式仅可用于特定的目标类型的上下文中

JTCR-模块-14

JDK9 引入了模块,用于描述代码之间的关系和依赖,控制某模块是否可以被其他模块访问。 模块基础 一个模块由一组包和资源组成。模块定义在名为 module-info.java 的文件中,javac 将这个文件编译成类文件,称为 module descriptor。该文件仅能包含一个模块定义。 模块定义的一般形式为: 一个模块可以指定它所依赖的模块,使用 requires 关键字,这个依赖关系在编

JTCR-处理字符串-15

Java 将字符串作为 String 类型的对象,不像其他语言,以字符数组的方式实现。 字符串创建之后就不可修改。进行修改相关操作返回的是新字符串,原先的字符串不会发生变化。将字符串以不可变的方式实现是为了更有效率。与 String 对应的 StringBuffer 和 StringBuilder 类创建之后可以修改。 三种字符串类型都声明为 final,不可能有子类;都实现了 CharSeque

MIT 6.5830 simpleDB Lab2

Exercise 1 需要完成的是: src/java/simpledb/execution/Predicate.java src/java/simpledb/execution/JoinPredicate.java src/java/simpledb/execution/Filter.java src/java/simpledb/execution/Join.java 这里主要实现两个功能:

Springcloud学习笔记64---Oss Amazon s3

使用API​​從Amazon S3刪除文件夾   官方的帮助文档必不可少: Performing Operations on Amazon S3 Objects: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-objects.html   接口文档: https://sdk.ama

tomcat指定jdk版本启动

linux启动tomcat 并指定jdk 版本 jdk 解压路径: /usr/local/jdk11 编辑tomcat的bin目录下面两个文件,在最前面加上下面两句,一个是指定jdk路径,一个是指定jre路径 vim setclasspath.sh vim catalina.sh JAVA_HOME=/usr/local/jdk11 JRE_HOME=/usr/local/jdk11 最后保存 s

vis.js标签条形图

代码案例 效果图 点击查看详情

得物 ZooKeeper SLA 也可以 99.99%丨最佳实践

作者:Bruce 背景 今天分享的案例来自于得物技术团队应用 MSE-ZooKeeper 过程中的最佳实践。原文得物 ZooKeeper SLA 也可以 99.99% | 得物技术。 ZooKeeper(ZK)是一个诞生于 2007 年的分布式应用程序协调服务。尽管出于一些特殊的历史原因,许多业务场景仍然不得不依赖它。比如,Kafka、任务调度等。特别是在 Flink 混合部署 ETCD 解耦 时

vis.js两轴折线图

代码案例 效果图 点击查看详情

vis.js动态样式折线图

代码案例 效果图 点击查看详情

什么是hashCode 以及 hashCode()与equals()的联系

1、什么是hashCode:hashCode就是对象的散列码,是根据对象的某些信息推导出的一个整数值,默认情况下表示是对象的存储地址。通过散列码,可以提高检索的效率,主要用于在散列存储结构中快速确定对象的存储地址,如Hashtable、hashMap中。 为什么说hashcode可以提高检索效率呢?我们先看一个例子,如果想判断一个集合是否包含某个对象,最简单的做法是怎样的呢?逐一取出集合中的每个元

Shell阶段01 shell脚本概述, 脚本规范, shell执行方式, shell变量

Shell 什么是Shell 什么是Shell脚本 为什么要学习Shell脚本 学习Shell脚本,我们需要什么技能 Shell脚本能干什么 Shell脚本规范 Shell的执行方式 登录式Shell和非登录式 Shell变量定义 变量的概述  

fiber使用websocket--多进程版本

多进程数据是隔离的,也就是说处理不好,不同的用户登录,其实不在一个进程,没办法直接通信 解决办法:定义一个全局变量,所有进程公用,要加锁 如果是单进程版本其实就跟gin框架那些一样了多线程+channel不存在数据隔离的问题 main.go html

Java面试题:细数ThreadLocal大坑,内存泄露本可避免

一、背景ThreadLocal是Java中用于解决多线程共享变量导致的线程安全问题的一种机制。它为每个线程分配一个独立的变量副本,从而避免了线程间的数据竞争。这个我们从上一篇文章《Java面试题:请谈谈对ThreadLocal的理解?》中已经了解。然而,如果使用不当,ThreadLocal也可能导致内存泄露。 那什么是内存泄漏,它和内存溢出有什么区别? 内存溢出(Memory overflow

探索Kimi智能助手:如何用超长文本解锁高效信息处理新境界

目前,Kimi备受瞩目,不仅在社交平台上引起了广泛关注,而且在解决我们的实际问题方面也显示出了巨大潜力。其支持超长文本的特性使得我们能够更加灵活地配置信息,避免了频繁与向量数据库进行交互以及编写提示词来回答查询的繁琐过程。简而言之,Kimi的出现为我们提供了一种更为便捷和高效的信息获取方式。 今天,我们将探讨如何通过与Kimi对接来解决我在工作中遇到的一些挑战。其中包括利用双方的沟通记录来获取用户

Oracle JDK 和 OpenJDK 有什么区别?

OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。Oracle JDK采用了商业实现,而OpenJDK使用的是开源的FreeType。当然,“相同”是建立在两者共有的组件基础上的,Oracle JDK中还会存在一些Open JDK没有的、商用

大厂面试题:ReentrantLock 与 synchronized异同点对比

写在开头 在过去的博文中我们学习了ReentrantLock 与 synchronized这两种Java并发使用频率最高的同步锁,在很多大厂面试题中有个经典考题: ReentrantLock 与 synchronized异同点对比! 今天我们针对这一考题来做一个尽可能全面的总结哈。 ReentrantLock 与 synchronized ReentrantLock是一种独占式的可重入锁,位于

<<  <  392  393  394  395  396  397  398  399  400  401  402  >  >>