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到技术难度和业务难度,价值体现 日常需要考虑所做的系统在整体业务流程中的地位,以及整个业务的流程和价值 经历 当前就业环境比较严峻,针对
使用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 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链
标准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账号
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
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,来解决上述问题,即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码