Java

Java学习经验总结

【阶段一】 1⃣Java基础阶段:学习Java的基本语法。 前端基础学习:HTML+CSS+JavaScript,作为后端开发,前端部分只要了解一些基础,方便后面做项目。 2⃣数据库+包版本工具+linux:数据库主要学MySQL,而包版本工具主要学Maven,linux的话主要学学基本的命令即可。 3⃣主流框架阶段:SpringBoot+SpringCloud+MyBatis+Rock

spring aop设计

AOP产生的背景: 想要为不同的对象引入一个公共行为,可能导致大量重复代码。如果使用aop,可能只需要关注如下红色框的业务逻辑(切面逻辑),就可以 什么是aop:有三个过程 找到横切点:确定程序在哪个位置进行横切 写横切逻辑:与aop无关,就是开发同学需要关注的业务代码 织入:将横切逻辑织入 横切点   横切点 分为 字段和方法。方法(构造方法,静态方法,对象方法)   定

@MappedSupperClass 用法

@MappedSuperclass 是 Java Persistence API (JPA) 中的一个注解,用于指示某个类是一个映射的超类(Mapped Superclass)。映射的超类类似于普通的 Java 类,但它不会被映射到数据库表,而是作为其他实体类的基类,用于共享字段和方法。 当你在 JPA 中定义一个实体类的时候,可以使用 @Entity 注解来标识它,这将使得该类会被映射到数据库中

linux环境使用docker安装mysql

效果图  拉取指定mysql版本 docker pull mysql:5.7     查看mysql的镜像  运行mysql指定mysql配置 docker run --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7   其中some-mysql是要分配

clang架构与示例实践

clang架构与示例实践 1 C语言编译器Clang 1.1 Clang和GCC编译器架构 Clang编译器是由APPLE公司的编译器大牛ChrisLattner主导下编写的,其目标是替换大名鼎鼎的GCC编译器; 从源代码到可执行程序一般经过预处理、编译、链接过程,而编译是编译器的工作,编译分为三个阶段,分别为前端、优化器、后端,如图1所示。 图1 编译器的前中后端 1)编译前端:将源代码转化

ChatGPT JAVA对接 常见接口参数说明 角色扮演

一、前言   本文将介绍ChatGPT常见参数说明,角色扮演,对接总结。   关于如何获取KeXue上网和获取API_KEY,本文不做描述。   官网:https://openai.com/ 二、快速入门 请求是curl形式,-d后面是要携带的主要参数 三、常见参数说明 1、model : 指定使用的模型,常用:gpt-3.5-turbo 、gpt-4 2、messages&nbs

Observer Patterns —— Behavorial Class

Oberver Define Observer Patterns 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 Key elements 主题(Subject)interface 主题(Subject) 订阅者(Subscriber)interface 订阅者(Subscriber) Client Example 先定义出主题接口,

202308面试总结

知识储备 Java容器,多线程,JVM 框架使用及原理 中间件使用及类似中间件间的比较(选型问题) 代码题 单例模式 -- 设计模式 求给定一个字符串中不含重复字符的最大子串长度 -- 查找算法 项目经验 工作中做的项目,讲的不够细致出色,不能让对方get到技术难度和业务难度,价值体现 日常需要考虑所做的系统在整体业务流程中的地位,以及整个业务的流程和价值 经历 当前就业环境比较严峻,针对

如何释放服务器内存

服务器内存的管理对于维持系统性能和稳定运行至关重要。当服务器内存不足时,可能导致系统变得缓慢、不稳定或甚至崩溃。因此,释放服务器内存是一项重要的任务。本文将介绍几种常用的方法来释放服务器内存。 1. 查看当前内存使用情况 首先,我们需要了解当前服务器内存的使用情况。可以通过命令 free -h 或者 top 来查看。这些命令将提供有关可用内存、已使用内存和缓存等信息。通过查看这些数据,可以判断是否

HBase学习笔记

你可以把HBase当做是MySQL,把HDFS当做是硬盘。HBase只是一个NoSQL数据库,把数据存在HDFS上 docker run -d --name datax-admin --restart=always -p 2020:2020 --net my-network --ip 172.20.1.61 -v /data/datax-admin.log:/tmp/datax-admin.log

使用docker安装chatgpt项目潘多拉(基于windows环境)

该教程相当于本地部署了chatgpt项目,不用魔法上网,直接通过127.0.0.1:8899就可以直接使用chatgpt,同时还提供了使用token认证的方式去登录,token有效期为14天,意思就是 14天内,只要不清空浏览器的缓存,直接使用127.0.0.1:8899就可以直接使用,就是这么方便,下面给出具体操作步骤 首先你需要安装后docker,docker地址https://www.doc

使用docker安装chatgpt项目潘多拉(基于linux环境)

我的是centos 7.6的系统,命令如下 安装yum-utils软件包(提供yum-config-manager 实用程序)并设置存储库 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装最新版本

HashMap 源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。 HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链

Java通过地址远程读取图片并转换为Base64字符串

使用java自带类实现获取图片并转换为Base64字符串(记录一下)  如果下载失败或者出现异常,则直接返回输入的图片地址

标准C++ -- day08

一、类型信息运算符 typeid 在C++中typeid可以获取数据的类型,需要加头文件 typeinfo 通过find /usr/include -name typeinfo typeid 是运算符,执行运算符函数,执行的返回值类型是type_info类类对象 type_info 中有个 name 的成员函数 type_info中还重载了 == 运算符,可以直接比较两个数

随笔(三十一)『ELK 单机部署』

1、环境准备 1.1、修改最大文件打开数量 1.2、修改进程数 1.3、修改虚拟内存 和 最大并发连接 1.4、重启系统 1.6、创建es普通用户 1.7、创建相关目录并赋权 1.8、压缩包放到/usr/elk下 1.9、解压 2、elasticserach部署 2.1、赋权 2.2、创建es相关目录 2.3、修改配置 2.4、修改JVM堆大小 2.5、切换到elk账号

接雨水-单调栈解法

题目链接 ​ 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 解题思路 单调栈:栈内元素单调按照递增(递减)顺序排列的栈 链接

JDBCUtilsByDruid类的模板与BasicDAO的模板

2023-08-30 JDBCUtilsByDruid类 BasicDAO类  

MVVM架构

一.MVVM架构和Jetpack   MVVM即Model-View-ViewModel的缩写,它的出现是为了将图形界面和业务逻辑,数据模型进行解耦。在前面章节所学习的Jetpack组件,大部分是为了能够更好地架构MVVM应用程序而设计的。在本章,我们通过ViewModel,LiveData,Room和DataBinding这四个组件来设计一个符合MVVM架构的应用程序。 二.数据模型驱动界面更新

paging组件的用法和意义

一.Paging组件的意义   分页加载是在应用程序开发过程中十分常见的需求,我们经常需要以列表的方式加载大量的数据,这些数据通常来自网络或本地数据库。然而,如果一次性将所有数据全部加载出来,必然会消耗大量的时间和数据流量,而且用户可能只是需要一部分数据就行。因此,Google便推出了paging组件,来实现分页加载;分页加载就是对数据进行按需加载,在不影响用户体验的同时,还能节省数据流量,提升应

Java流程控制增强for循环

增强for循环是Java五引入的用于数组或集合的增强型for循环 语法: 和for循环对比: 声明语句:生命新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值要与数组元素的值相等。 表达式:表达式是要访问的数组名,或者返回值为数组的方法。

RocketMQ 系列(二) 环境搭建

RocketMQ 系列(二) 环境搭建 上一个章节对于 RocketMQ 作了一些概念上的介绍,如果你对于 RocketMQ 没有概念,不妨先看RocketMQ系列(一) 基本介绍。 这个章节主要介绍 RocketMQ 的环境搭建与安装。 1、准备工作 1.1、环境要求 Linux64 位系统 JDK1.8 64位及以上 1.2、安装 JDK1.8 RocketMQ 我在这里用的是 Lin

POI与EasyExcel的对比分析

一、简介 POI和EasyExcel都是Java中用于操作Excel表格数据的工具,使用这些工具可以实现对Excel表格数据的读写、创建等操作,POI和EasyExcel也是对比较常用的工具之一。 二、POI与EasyExcel的简单对比 POI作为比较早期的Excel处理工具,其使用较为成熟且广泛。EasyExcel相较之下,则是相对较新的工具,其却有着比POI更为优越的一些特性,如更加简单的A

Spring 相关 Maven 依赖包

作者:Binge 本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

oceanbase odc 开源了

我以前也打开简单说过,oceanbase odc 的实现(通过同时猜测的),就在今天odc 整体源码开源了,对于需要自己扩展的同学是比较方便的,同时也可以更好的学习odc 的实现机制 目前odc 包含的组建 client web 前端,同时也有基于electron 包装的客户端,会启动jar 暴露的rest 服务进行操作,具体如何启动的可以参考 odc-client 中的sr

Java流程控制break,contiune

break break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环语句中的剩余语句,但是不终止程序。(break也可以在switch语句中使用)例: continue continue语句在循环语句中,用于终止某次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。 输出结果:

BUUCTF [RoarCTF 2019]Easy Java

题目是登陆页面,查看源码,发现一个连接Download?filename=help.docx,跳转到帮助文档。 点击help也可以跳转到帮助文档。 帮助文档内容为java.io.FileNotFoundException:{help.docx},是java语句,帮助文档不存在。 WEB-INF知识点 WEB-INF是java的WEB应用的安全目录,此外如果想在页面访问WEB-INF应用里面的文件,

Java并发(十五)----synchronized解决共享的问题

为了避免临界区的竞态条件发生,有多种手段可以达到目的。 阻塞式的解决方案:synchronized,Lock 非阻塞式的解决方案:原子变量 此次介绍使用阻塞式的解决方案:synchronized,来解决上述问题,即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码

<<  <  728  729  730  731  732  733  734  735  736  737  738  >  >>