Java

JavaScript中的“函数式编程”

前言 我们虽然之前老是听说过“函数式编程”,但一直不能理解,我们静下心来研究了一下,才发现这些东西真的很巧妙。 在React这些框架中,对象,函数为王,因为框架已经帮你打建好了 在框架中,数据为王,那些函数本身就是用来处理数据 这里我们要用更高层的思维,而放弃底层思维,这些本身都是用户数据,前段传递到后端,后端传递到前段 我们用固定的编写好的函数来处理数据返回数据,或者把函数传递到框架(函数),这

netty底层实现是什么样的

​    <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.90.Final</ve

角度新奇!第一次看到这样使用MyBatis的,看得我一愣一愣的。

你好呀,我是歪歪。 这期给大家分享一个读者给我分享的一个关于 MyBatis 的“编程小技巧”,说真的,这骚操作,直接把我看得一愣一愣的。 我更情愿叫它:坑你没商量之埋雷大法。 Demo 为了让你丝滑入戏,我还是先给你搞个 Demo。 因为要使用到 MyBatis 嘛,所以我们先搞两个表。 一个表叫做 product 表,表结构非常简单: 另一个表叫做 order_info 表,表结构也非常

Kettle操作学习笔记

许多操作建议去找个视频教程学来的清晰。下面的仅仅是做的重点笔记。 推荐一个很好的视频教程: 尚硅谷 大数据技术之Kettle视频教程 下述笔记基于此教程。 概念 Kettle中有转换和作业。 转换负责数据输入、转换、校验和输出工作,使用转换完成数据ETL(Extract-Transform-Load)的全部工作。转换由步骤构成,如文本文件输入、过滤输出、执行sql脚本等。步骤之间使用Hop连接。H

Docker下elasticsearch8部署、扩容、基本操作实战(含kibana)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇记录了用docker搭建ElasticSearch8单机版再扩容的过程,既留给自己后面反复使用,也可以为正在部署环境的读者提供一些参考 请注意docker部署ElasticSearch的适用场景:我这边只是在开发过程中使用,这种方式在

单测-反射-动态代理

什么是单测 单测是指单元测试(Unit Testing)的简称。单元测试是软件开发中的一种测试方法,用于验证程序的最小可测试单元(通常是一个函数或方法)是否按照预期工作。 在单元测试中,开发人员编写测试代码来调用被测试的单元,并检查其输出是否符合预期。单元测试通常是自动化的,可以通过测试框架(如JUnit、pytest等)来运行和管理。 通过进行单元测试,开发人员可以快速发现和修复代码中的错误,确

Vue 3 Deep Dive with Evan You

什么是 DOM? 如果我们把这个 HTML 加载到浏览器中,浏览器创建这些节点,用来显示网页。所以这个HTML映射到一系列DOM节点,然后我们可以使用JavaScript进行操作。例如: let item = document.getElementByTagName('h1')[0] item.textContent = "New Heading" VDOM 网页可以有很多DOM节点,这意味着D

Arthas定位分析详解

一、Arthas 使用场景 主要的场景如下: 1、是否需要一个全局视角来查看系统的运行状况? 2、系统CPU升高了,到底是哪里占用了CPU? 3、运行的多线程有死锁吗?有阻塞吗? 4、有什么方法可以监控到JVM的实时运行状态? 二、Arthas安装使用 可以在官方 Github 上进行下载,也可以在国内的码云 Gitee 下载。 github下载 wget https://alibaba.gith

Bcrypt加密算法相关

简介 Bcrypt是一个跨平台的文件加密工具,由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。spring-security内部就是使用这个算法来对用户密码加密的(BCryptPasswordEncoder)。 使用 maven依赖 代码 输出结果 hash格式说明: 最后生成的密文中是包含salt值的, 密码校验的原

Windows中Java安装及环境变量配置

Windows中Java安装及环境变量配置 目录Windows中Java安装及环境变量配置1、下载jdk安装包2、安装JDK3、配置环境变量3.1、环境变量配置页进入3.2、环境变量1:JAVA_HOME3.3、环境变量2:CLASSPATH3.4、环境变量3:Path4、验证安装 1、下载jdk安装包 通过以下镜像站下载jdk安装包:https://www.techspot.com/downlo

XXE防范

1、在php、java代码中xml代码前加入禁用实体解析的代码 php: libxml_ disable_ entity. loader (true); ¥xml=simplexml_load_string($xmlContent); java: DocumentBuilderFactory dbf= DocumentBuilderFactory.newlnstance();dbf.setExpa

分布式共识算法之Raft设计与实现

如何理解分布式共识? 多个参与者 针对 某一件事 达成完全 一致 :一件事,一个结论 已达成一致的结论,不可推翻 有哪些分布式共识算法? Paxos:被认为是分布式共识算法的根本,其他都是其变种,但是 Paxos 论文中只给出了单个提案的过程,并没有给出复制状态机中需要的 multi-paxos 的相关细节的描述,实现 Paxos 具有很高的工程复杂度(如多点可写,允许日志空洞等)。 Zab:被

Spark安装的配置相关步骤

1、Spark下载地址:https://archive.apache.org/dist/spark/ 选择自己适合的版本: 点击下载即可: 等待下载完成; 2、将下载好的压缩包放到虚拟机的/root/software文件目录下面 3、将放好位置的压缩包在该目录下解压 解压成功: 4、拷贝编辑spark文件夹目录下的conf目录下的slaves文件,进行编辑 进入到slaves文件(划

java 网络编程

网络编程 一、概述 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。 计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统, 从而使众多的计算机可以方便地互相传递信息,共享硬件,软件,数据信息等资源。 网络编程目的 直接或间接地通过网络协议与其他计算机实现数据交换, 进行通讯。 网络编程中主要问题 如何准确的

面霸的自我修养:synchronized专题

王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 今天是《面霸的自我修养》的第3弹,内容是Java并发编程中至关重要的关键字synchronized,作为面试中的“必考题”,这部分是你必须要充分准备的内容,接下来我们就一起一探究竟吧。 数据来源: 大部分来自于各机构(Java之父,Java继父,某灵,某泡,某客)以及各博主整理文档; 小部分来自于

Java中的Future

1.Future解决了什么问题 Future是java中的一个接口,主要用于java多线程计算过程的异步结果获取,能够感知计算的进度,与传统的多线程实现方式,比如继承Thread类,实现runnable接口,它们主要的局限在于对多线程运行的本身缺少监督。 2.Callable接口和Runnable接口区别 下面是它们之间的主要区别: runable接口是用run方法作为线程运行任务的入口,cal

18. 按钮的进一步学习

图片按钮,单选框,多选框

Java 基于Hutool实现DES加解密

POM.XML配置 代码实现 =文章篇幅过短,不允许发布,添加文字占位符,无其它含义====== =文章篇幅过短,不允许发布,添加文字占位符,无其它含义====== =文章篇幅过短,不允许发布,添加文字占位符,无其它含义====== =文章篇幅过短,不允许发布,添加文字占位符,无其它含义====== =文章篇幅过短,不允许发布,添加文字占位符,无其它含义====== =文章篇幅过短,不允许发布

【剑指Offer】9、变态跳台阶

【剑指Offer】9、变态跳台阶 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路: 当只有一级台阶时,f(1)=1;当有两级台阶时,f(2)=f(2-1)+f(2-2);一般情况下,当有n级台阶时,f(n)=f(n-1)+f(n-2)+···+f(n-n)=f(0)+f(1)+···+f(n-1),同理,f(n-

【剑指Offer】10、矩形覆盖

【剑指Offer】10、矩形覆盖 题目描述: 我们可以用2 X 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 X 1的小矩形无重叠地覆盖一个2 X n的大矩形,总共有多少种方法? 解题思路: 我们可以以2 X 8的矩形为例。 先把2X8的覆盖方法记为f(8),用1X2的小矩形去覆盖时,有两种选择:横着放或者竖着放。当竖着放时,右边还剩下2X7的区域。很明显这种情况下覆盖方法为f(7)。当

【剑指Offer】12、数值的整数次方

【剑指Offer】12、数值的整数次方 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 解题思路: 本题看似比较简单,是一个简单的指数运算,但需要完整的考虑到所有情况。首先,对于底数,如果底数为0,则0的任何次方都是0,可以直接返回0。关键在于指数,指数可能有三种情况,有可能是正数、0、负数。对于指数是0的情况,任何数的0

zookeeper安装与使用

ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 zookeeper 数据结构 zookkeeper 提供的名称空间非常类似于标准文件系统,key-value 的形式存储。名称 key 由斜线 / 分割的一系列路径元素,zookeeper 名称空间中的每个节点都是由一个路径标识。 zookeeper安装 常用命令

loadrunner-java vuser-java脚本运行

一、Jdk环境的准备 1.loadrunner匹配的jdk版本: lr11:jdk1.6 32位 lr12:jdk1.7 32位 2.java编写的ide工具:IntelliJidea社区版 或者 eclipse  Idea的工具将.class文件打包成jar文件步骤 1)project structure-》ArtiFacts-》Add-》jar-》From modules。。。

webpack 五大核心概念

转载请注明 来源:http://www.eword.name/ Author:eword Email:eword@eword.name webpack 五大核心概念 一、Entry 入口(Entry)指示Webpack以哪个文件为入口起点开始打包,分析构建内部依赖图。 二、Output 输出(Output)指示Webpack打包后的资源bundles输出到哪里去,以及如何命名。 三、Loade

webpack配置js 语法检查 eslint

转载请注明 来源:http://www.eword.name/ Author:eword Email:eword@eword.name webpack配置js 语法检查 eslint js 语法检查主要用到的 loader 和插件有:eslint-loader eslint eslint-config-airbnb-base eslint-plugin-import 这里主要采用的是a

Java: Filter 过滤器

创建一个Fileter只需要两步 1. 创建一个类,实现Filter接口 public class MyFilter1 implements Filter { // 初始化方法 @Override public void init(FilterConfig filterConfig) throws ServletException {  } // 执行过滤的方法 @O

SpringBoot3.x原生镜像-Native Image实践

前提 之前曾经写过一篇《SpringBoot3.x 原生镜像-Native Image 尝鲜》,当时SpringBoot处于3.0.0-M5版本,功能尚未稳定。这次会基于SpringBoot当前最新的稳定版本3.1.2详细分析Native Image的实践过程。系统或者软件版本清单如下: 组件 版本 备注 macOS Ventura 13.4.1(c) ARM架构 sdkman

Dart - 对List对象列表属性值的快速搜索及模糊搜索

代码借鉴了简书作者南山伐木# 对List对象列表属性值的快速搜索 该文章是对Java代码编写的,但是由于我在flutter开发中也有类似需求,就将其代码改写为dart版本 引言 在处理不同数据结构的时候,我们往往需要一个统一、高效的搜索工具。在这篇文章中,我们将探讨如何使用Dart编写一个适应各种数据类型的搜索工具。 考虑这样一个场景:一个班的所有学生都已经加载到List<Student&g

多线程安全卖票问题

package com.atjava.test; class WindowRun implements Runnable{ private int ticket = 100; @Override public void run() { while (true){ if(ticket > 0){

Java周总结7

JDBC进阶 在ResultSet时,默认可以使用next()移动数据光标至下一笔数据,而后使用getXXX()方法来取得数据在数据光标移动的API上,可以使用absolute()、afterLast()、beforeFirst()、first()、last()进行绝对位置移动,使用relative()、previous()、next()进行相对位置移动,移动成功返回true。可使用isAfter

<<  <  776  777  778  779  780  781  782  783  784  785  786  >  >>