Java
Java基础知识复习&梳理
一、基础知识 1、Java特点 简单 面向对象(类、接口、继承等) 分布式 健壮的(强类型机制、异常处理、垃圾的自动收集等) 安全的 体系结构中立的 可移植的 解释型 高性能 多线程 动态的(适应于动态变化的环境) 2、环境搭建 ①Windows上安装开发环境 下载JDK 下载链接🔗:https://www.oracle.com/java/tec
03 shell 编程
变量 语言型 编译型语言 解释型语言 shell脚本语言是解释型语言 shell脚本的本质:shell命令的有序集合 shell 编程的基本过程 基本过程分为三步: step1. 建立 shell 文件 包含任意多行操作系统命令或shell命令的文本文件; step2. 赋予shell文件执行权限 用chmod命令修改权限; step3. 执行shell文件 直接在命令
day10 10.1 C语言基础之编译器安装
【一】学习C语言的原因 一般公司的apk 基于Java实现的加密 jadx反编译java,分析代码 NB公司的的apk,基于Java+C语言实现加密(JNI开发) 加密一般使用C语言开发,在安卓项目中使用Java调用C语言开发的动态链接库文件 jadx反编译java,分析代码 看不到加密 ida反编译c语言,分析代码 能看到用C语言写的加密 【二】c语言动态链接库so文
面试类-Java并发编程 (一)
1.并行跟并发有什么区别? 从操作系统的角度来看,线程是CPU分配的最小单位。 并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。 并发就是同一时刻,只有一个执行,但是一个时间段内,两个线程都执行了。并发的实现依赖于CPU切换线程,因为切换的时间特别短,所以基本对于用户是无感知的。
IDEA 配置 ESLint
一直想将 ESLint 配置推广到团队中,只是自己也没完全摸透,也不好推广,于是记录学习一下。平时工作的环境主要为 IDEA ,所以配置 ESLint 也主要从 IDEA 的角度入手。 ESLint 简介 官网介绍:ESLint 查找并修复 JavaScript 代码中的问题,静态地分析你的代码以快速发现问题。它内置于大多数文本编辑器中,但你也可以在持续集成管道中运行 ESLint。 关键词: 发
2023.7.25打卡
2023.7.25 (1)、今天学了会Java,看了《大道至简》,《大道至简》快看完了,看了辩论赛,记了单词,学了一个多小时车,刷了科四的题。 (2)、明天打算学会Java,把《大道至简》看完,学车,刷题,记单词。 (3)、今天没遇到啥问题。
Java程序员进阶之路----四阶段
第一阶段: JavaSE 全面深入的学系JavaSE课程,主要内容包括Java概述与环境搭建、基本语法、面向对象基础、接口、抽象类、常用类(Object/内部类/包装类/String等)、集合、算法和数据结构、异常、多线程、I/O框架、网络编程、JDK8新特性、JVM内存模型、反射、注解xml等。 本阶段学系你将掌握扎实的lava基础、深入理解面向对象编程思想,熟练进行lava程序的编写,掌
cookie+session(这里使用redistemplate代替)实现单点登录流程
user发起资源请求(带上回调的路径方便回调),通过判断是否浏览器的cookie中是否存在登录过的痕迹,比如有人登了,然后存了一个cookie到浏览器 如果拿到了cookie是有东西的,则带上这个cookie的内容返回给client,如果没有东西,则继续登录,向session中存入userInfo,并给浏览器设置cookie 另一个相信任的应用再发起资源请求的时候会发现已
jenkins+linux+gitee+maven自动化集成部署项目
jenkins+linux+gitee+maven自动化集成部署项目 一、jenkins概述 1.1 Jenkins介绍与优势 Jenkins是一个基于Java开发的开源的、易操作的CI/CD工具软件,其主要用于持续、自动的构建/测试/部署软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行(Jenkins通常作为一个独立的
Redis循环慢接口优化
原慢接口 原因分析 当keys 数据过大,RTT时间会变大。 多个Redis命令之间会有往返时间消耗。 使用MGET、Pipelined可以减少RTT时间 首次进入此代码域,由于缓存为空,全部走数据库,也会导致接口变慢。 解决方式 Pipelined 注意:Redis集群部署时,不同的key可能对应不同实例节点,不能被处理。 MGET
Java面试题 P3:JDK JRE JVM三者区别
JDK:java 开发工具(由JRE+java工具) JRE:java运行时环境(由jvm+lib类库组成) JVM:java虚拟机(bin目录) 图形表示如下:
JavaScript实现防抖与节流
1. 引言 有这么一种场景:某个页面表单按钮设置了点击提交事件,有时因为网络不好,点击后后台服务端很久才返回信息,然而用户因等待许久已经多次点击导致多次发送数据,实际上服务器只需要一次发送的数据即可 又比如说这么一种场景:某个页面设置监听的resize事件,一旦resize则重新渲染页面,有时用户会慢慢的拖动导致不断触发resize事件,频繁的触发重新渲染导致页面出现问题,实际上只需要在一段时间内
spring-boot-整合其他框架
spring-boot整合junit 测试类的编写 需要的依赖 spring-boot整合readis 测试类的编写 需要的依赖 spring-boot整合mybatis application.yaml文件配置 mapper.xml文件配置 mapper接口文件 测试类的编写 需要的依赖
Security使用笔记(一)
一、项目在pom中导入security依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</
linux添加文本自启动进程方法
打开终端或者登录到你的Linux机器。 创建一个新的启动脚本文件,文件名可以自定义。例如,你可以使用myapp.sh作为文件名: Copy 在新创建的脚本文件中,添加以下内容: Copy 注意替换 /path/to/your/jar/file 为你的jar文件的实际路径和 yourapp.jar 为你的jar文件名
Day04-21 继承
继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模 extends的意思是“扩展”。子类是父类的扩展。 java中类只有单继承,没有多继承! 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。 继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。 //学生 is 人 :派生类/子
线程池问题记录以及处理
现象 每天到业务高峰期就会出现提交线程被拒绝。 疑问点 什么原因会导致active threads远远小于poolsize的情况下,提交任务失败 关键信息 线程池配置 拒绝任务的日志信息 其他信息 这个线程池在使用时存在父子线程都使用的情况,这个用法本身有问题。 从监控来看,java.util.concurrent.ThreadPoolExecutor#getActiveCount 指标最高
Navigation的用法
一.Navigation的诞生 单个Activity嵌套多个Fragment的UI架构模式,已经被大多数的Android工程师所接受和采用。但是,对Fragment的管理一直是一件比较麻烦的事情。我们需要通过FragmentManager和FragmentTransaction来管理Fragment之间的切换。页面的切换通常还包括对应用程序App bar的管理,Fragment之间的切换动画以
MySQL 数据库连接
数据连接: 连接: MySQL驱动:mysql-connector-Java-XXX.jar 数据库连接的建立及关闭是及耗费系统资源的操作,在多层结构的应用环境中,这种资源的耗费对系统性能影响尤为明显。 通过DriverManager获得数据库连接的方式,一个数据库连接对象对应一个物理数据库连接,每次操作都打开一个物理连接,使用完后立即关闭连接。频繁地打开、关闭连接将造成系统性能低下。 数
MySQL 性能优化
性能优化: 性能优化: 性能分析: 慢查询日志: 默认关闭 慢查询日志会记录MySQL中查询时间 超过指定时间的sql语句 开启慢查询日志 修改MySQL的配置文件 Profile: sql耗时分析 Explain 在任意sql语句之前 加EXPLAIN||DESC 可以查看该sql的执行计划 可以看到在执行中是否用到了索引 表之间是如何连接的 连接顺序之类的 id:越大
23-7-14学习记录
1.volatile的作用 volatile关键字有作用是确保被修饰的变量在多线程环境下的可见性和有序性。 可见性(Visibility):当一个变量被声明为volatile时,它的修改对其他线程是可见的。这意味着当一个线程修改了一个volatile变量的值,其他线程能够立即看到最新的值,而不是使用缓存中的旧值。这解决了多线程之间共享变量的可见性问题。 有序性(Atomicity):volatil