文章目录代码目录一、运行时数据区概述二、实现运行时数据区1、线程2、Java虚拟机栈3、帧4、局部变量表5、操作数栈三、测试 代码目录ZYX-demo-jvm-04 ├── pom.xml └── src └── main │ └── java │ └── org.ZYX.demo.jvm │ ├── classfile
转载 2024-06-13 11:44:02
25阅读
Java实现LRUCache前言一、LRU实现补充二、Redis LRU算法实现 前言运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果密钥不
转载 2024-01-06 08:54:14
69阅读
KNN算法和欧式距离介绍1. KNN算法又称为k近邻分类(k-nearest neighbor classification)算法。    最简单平凡的分类器也许是那种死记硬背式的分类器,记住所有的训练数据,对于新的数据则直接和训练数据匹配,如果存在相同属性的训练数据,则直接用它的分类来作为新数据的分类。这种方式有一个明显的缺点,那就是很可能无法找到完全匹配的训练记录。&nbs
# 如何实现Java手写日志方法 作为一名经验丰富的开发者,我将向你介绍如何手写一个基本的Java日志方法。在这篇文章中,我将介绍整个过程,并提供每个步骤所需的代码和注释。 ## 流程概述 在开始之前,让我们先来看一下整个实现过程的流程概述。下表展示了实现手写日志方法的步骤: | 步骤 | 描述 | | --- | --- | | 1 | 创建一个Logger类 | | 2 | 添加必要的
原创 2023-12-31 09:39:18
44阅读
什么是快速排序?为什么要有快速排序?怎么实现快速排序?快速排序是一种思想,先找出一个基准数(索引为0的位置) 先循环一次,然后 从右往走找出比基准数小的。然后停止再次从左边走找出比基准数大的 然后停止,交换两数的位置,直到两指针相遇。这样循环一遍后 两指针相遇的地方左边都是比基准数小的 ,右边都是比基准数大的,接着递归 先左右后。开始学习数组的时,冒泡、插入、选择排序作为排序的最基本、最容易理解的
LRU算法LRU是Least Recently Used的缩写,是一种常用的页面置换算法,选择最近最久未使用的数据予以淘汰。(操作系统)分析:1 所谓缓存,必须要有读+写两个操作,按照命中率的思路考虑,写操作+读操作时间复杂度都需要为O(1)2 特性要求分析 2.1 必须有顺序之分,以区分最近使用的和很久没用到的数据排序。 2.2 写和读操作 一次搞定。 2.3 如果容量(坑位)满了要删除最不长用
转载 2024-08-12 13:56:15
42阅读
一、 Java命名的一般性指导1. 类名首字母应该大写。属性(成员变量)、方法、对象变量以及所有标识符(如形式参数、实际参数、局部变量)的首字母应小写,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:类名:ThisIsAClassName 属性或方法名:thisIsMethodOrFieldName对象变量:thisIsAClassVariable2. Java 包(Packag
package com.tb.test; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
转载 2021-02-24 12:02:05
46阅读
分页插件在页面列表中,经常会用到,这里就简要介绍了在服务端开发中使用mybatis pager开发相应的分页接口,在前端中手写想要的分页插件,虽然不是那么美观,但是够自己使用。 手写前端分页组件服务端接口开发Mybatis-PageHelper个人理解Mybatis-PageHelper的原理是通过AOP在截获我们执行的SQL的时候,再执行一次SQL语句,填
转载 2023-11-03 15:19:24
53阅读
手写LRU缓存淘汰算法 背景 在我们这个日益追求高效的世界,我们对任何事情的等待都显得十分的浮躁,网页页面刷新不出来,好烦,电脑打开运行程序慢,又是好烦!那怎么办,技术的产生不就是我...
转载 2021-03-01 21:25:00
177阅读
2评论
手写常用的数组方法是面试中的常考题目,同时学会这些API的原理也能更好的帮助我们去理解这些API并加运用,下面让我们来一起手写reduce吧~原生reduce接收几个参数?原生的reduce是在Array的原型对象上的一个方法,其接收两个参数:一个回调函数。这个回调函数的前两个参数,分别表示累积值和当前值。初始值。实现原生reduce的思路通过slice原型方法获取到调用reduce的数组。定义一个临时结果变量和开始的索引。如果传入了初始值,res就等于这个初始值,没有传入re.
原创 2022-04-19 09:45:46
228阅读
## 手写分页 Java计算方法 在现代应用程序中,数据分页是一项必不可少的功能,尤其是在处理大量数据时。使用分页,可以有效地提高数据的可读性和用户体验。本文将探讨如何在 Java 中手动实现分页,并提供代码示例。 ### 理解分页 分页的基本概念是将数据分成多个部分(即“页”),用户可以通过翻页来逐步查看全部数据。每一页会显示固定数量的数据项。实现分页的关键是计算出总页数、当前页的数据开始
原创 8月前
49阅读
## 实现Java不用手写getset方法的流程 为了实现在Java中不用手写getset方法,我们可以使用Lombok这个开源库来简化我们的开发工作。Lombok可以通过添加注解来自动生成getset方法,让我们省去了手写getset方法的繁琐过程。 下面是实现这一目标的流程图: ```mermaid flowchart TD A[创建Java项目] --> B[引入Lombok库
原创 2023-09-05 19:48:51
229阅读
嘿兄弟姐妹们,最近我有一个问题想和大家聊聊:你们有没有用过手写识别字软件?我是个手写字控,每次都喜欢用纸和笔来记录一些重要的事情。但问题来了,我手写的字可不是那么工整,有时候自己都看不懂!于是,我开始寻找解决方案,那就是手写识别字软件。你们知道吗,这种软件可以把我那写得跟蚂蚁爬来爬去一样的字,自动识别并转化成电子文字!简直就是神奇啊!想想,以后再也不用担心自己的字写得丑丑的了,就算我写的跟天书一样
前言之前系统接入大数据PV统计平台,最近因PV统计平台侧服务器资源紧张,要求各接入方必须缓存API调用验证用的Token,从而减少无效请求和服务端缓存中间件的存储压力。 虽然系统部分业务模块都有缓存数据的需求,但由于没有提供统一的前端缓存模块,这导致各业务模块都自行实现一套刚好能用的缓存机制,甚至还会导致内存泄漏。 以兄弟部门这张整改工单作为契机,是时候开发一个系统级的前端缓存模块,逐步偿还技术负
原创 2022-03-24 10:18:50
127阅读
清除Java缓存方法 ## 引言 在Java开发中,我们经常会遇到缓存的概念。缓存是一种提高系统性能和响应速度的有效手段,通过将计算结果或数据存储在高速缓存中,可以避免重复计算或从慢速存储器(如数据库)中读取数据。然而,有时候我们需要清除缓存,以确保最新的数据或代码被加载。本文将介绍清除Java缓存方法,并提供相应的代码示例。 ## 清除Java缓存方法 Java提供了多种方式清除缓存
原创 2023-11-28 11:43:58
328阅读
# Java 缓存中的 Load 方法 在现代应用中,性能和效率是关键的关注点。在此背景下,使用缓存机制是提高系统性能的重要手段。在 Java 中,缓存的实现通常涉及到一些核心概念,其中 “load 方法” 是缓存机制中至关重要的部分。本文将详细介绍 Java 缓存中的 load 方法,包括其定义、实现以及代码示例。 ## 什么是 Load 方法? Load 方法缓存的一个重要组成部分,负
原创 2024-08-31 09:42:39
83阅读
java面试:手写代码 二分查找法/** * 二分查找法。时间复杂度:O(log n) * 二分查找法:给定一组有序的数组,每次都从一半中查找。直到找到要求的数据。 * * @param nums * @param target * @return */ pub
转载 2023-07-06 22:18:16
0阅读
JS中有很多实用的内置方法,尝试自己去实现相同功能的方法有助于我们加强我们对这些方法的理解,以达到更好的使用这些方法的目的,同时手写方法也是面试中常常考察的点。 map 语法: var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[
原创 2023-05-20 10:06:06
85阅读
写这篇主要是想回顾一下之前手写的一些JS方法,巩固下JS,也做个记录;有些方法
原创 2022-08-21 00:59:22
127阅读
  • 1
  • 2
  • 3
  • 4
  • 5