线程 原理 参数java

【Java 并发】【九】【AQS】【七】Semaphore信号量底层机制原理

1 前言 接下来我们来看看Semaphore,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类。 2 Semaphore是什么 Semaphore,它是一个信号量,主要作用是用来控制并发中同一个时刻执行的线程数量,可以用来做限流器,或者流程控制器。在创建的时候会指定好它有多少个 ......
底层 Semaphore 信号 原理 机制

线程池execute 和 submit 的区别

1. execute 和 submit 的区别 前面说了还需要介绍多线程中使用 execute 和 submit 的区别(这两个方法都是线程池 ThreadPoolExecutor 的方法)。 1.1 方法来源不同 execute 方法是线程池的顶层接口 Executor 定义的,在 ThreadP ......
线程 execute submit

springboot的自动装配原理

springboot启动以后:通过@EnableAutoConigration里的@lmport (AutoConfigurationlmportSelector.class) 实现配置类的导入,但是并不是传统意义上的单个导入,而是批量进行导入AutoConfigurationlmportSelec ......
springboot 原理

sharding-jdbc使用及原理

基本思想:一条sql,经过分片,改造成多条sql,执行,最后合并结果集,得到预期结果。 一、基本使用 pom(基于5.2.0) <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-j ......
sharding-jdbc sharding 原理 jdbc

Java第四次作业

1.使用for循环计算1-100的和,除了以3结尾的那些数 package wen; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int sum = 0 ......
Java

xhEditor粘贴图片自动上传到服务器(Java版)

​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传word json配置 在ueditor\php\config.json中新增如下配置: /* 上传word配置 */ "wordActionName": "wordupload", /* 执行上传视频的action名称 */ "wordFi ......
xhEditor 服务器 图片 Java

Frida 原理

frida注入的主要思路: 1.找到目标进程,使用ptrace跟踪目标进程 2.获取mmap,dlpoen,dlsym等函数库的偏移 3.获取mmap,在目标进程申请一段内存空间,将在目标进程中找到存放(frida-agent-32/64.so),在此内存空间启动执行各种操作由agent去实现。 补 ......
原理 Frida

dedecms粘贴图片自动上传到服务器(Java版)

​ 图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用 首先以um-editor的二进制流保存为例: 打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方 ......
dedecms 服务器 图片 Java

JUC并发编程第七章之Java内存模型(解决读取数据不一致的问题)

1、为什么我们需要Java内存模型 1.1、 CPU和内存的那点事 首先根据下面的图片,我们可以知道在CPU和主寸(内存)之间存在着L1,L2,L3缓存, 运行速度关系之间为 CPU>L1缓存>L2缓存>L3缓存>内存; 当有了缓存后, CPU计算数据的具体一个请求流程为 当程序需要读取内存中的数据 ......
模型 内存 数据 问题 Java

【外观设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 外观模式(Facade Pattern),也叫门面模式,是一种结构型设计模式。它向现有的系统添加一个高层接口,隐藏子系统的复杂性,这个接口使得子系统更加容易使用。 如果你需要一个指向复杂子系统的直接接口,且该接口的功能有限,则可以使用外观模式。或者需要将子系统组织为多层结构,可以使用外观。 作 ......
外观设计 外观 语言 模式 Python

JUC并发编程基础篇第五章之线程中断状态[你理解的线程中断,只会Thread.interrupted()吗]

1、什么是线程的中断机制 首先 - 线程的中断不应该由其他线程来中断或者停止,而是自己线程中断和停止; 自己决定的命运,所以Thread.stop, Thread.suspend, Thread.resume都废弃了; 其次 - 在java中没法立即停止一个线程,然后停止线程却显得尤为重要 java ......
线程 interrupted 状态 基础 Thread

JUC并发编程基础篇第二章之CompletableFuture[加强版的线程]

@ 1、 创建线程的几种方式 new thread: //构造方法给指定的线程指定名称,推荐 Thread thread = new Thread(t1) { @Override public void run() { //要执行的任务 } }; //启动线程 thread.start(); new ......

java基础——静态代理和动态代理

java代理模式有静态代理和动态代理两种实现方式 一、静态代理 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。 优点: 可以在不修改目标对象的前提下扩展目标对象的功能。 缺点: 冗余:由于代理对象要实现与 ......
静态 基础 动态 java

Xposed 原理

Xposed 使用替换app_process的方式(这是个二进制文件) xposed 的 app_main2.cpp中做了xposed的初始化 /** Initialize Xposed (unless it is disabled). */ bool initialize(bool zygote, ......
原理 Xposed

解决Java在请求某些不受信任的https网站时会报:PKIX path building failed

解决办法: 例如下载360 的安全证书,使用浏览器打开要调用的接口链接:https://api.e.360.cn/account/clientLogin,然后查看证书导出证书到本地,文件名取成 调用api的域名api.e.360.cn 将数字证书保存到jdk1.7.0_17\jre\lib\secu ......
building failed https 网站 Java

如何在Java中做基准测试?JMH使用初体验

大家好,我是王有志,欢迎和我聊技术,聊漂泊在外的生活。快来加入我们的Java提桶跑路群:共同富裕的Java人。 最近公司在搞新项目,由于是实验性质,且不会直接面对客户的项目,这次的技术选型非常激进,如,直接使用了Java 17。 作为公司里练习两年半的个人练习生,我自然也是深度的参与到了技术选型的工 ......
基准 Java JMH

PHPCMS粘贴图片自动上传到服务器(Java版)

​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用 后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下) <%@ page language="java" import="java.util.*" pa ......
服务器 PHPCMS 图片 Java

java基础——反射与回调

一、java的反射 java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态 调用对象的方法的功能成为java语言的反射机制。 java的反射机制主要提供了以下功能: • 在运行时判断任意一个对象所属的类 ......
基础 java

JetBrains系列激活原理

这时候需要找到系统里eval文件夹下的evaluation.key类文件,全部删除掉它们,然后重新打开软件即可。 对于windows系统路径: C:\Users\xxx\AppData\Roaming\JetBrains\GoLand2021.2\eval 对于mac系统(大概): /Users/x ......
激活 JetBrains 原理

java第四次作业

1.使用for循环计算1-100的和,除了以3结尾的那些数 package wxl; public class ctt { public static void main(String[] args) { // TODO Auto-generated method stub int sum=0; f ......
java

Java面试题(四)

为什么选择使用框架而不是原生? 框架的好处: 1、组件化:其中React 的组件化最为彻底, 甚至可以到函数级别的原子组件, 高度的组件化可以是我们的工程易于维护、易于组合拓展。 2、天然分层:JQuery 时代的代码大部分情况下是面条代码,耦合严重,现代框架不管是MVC、MVP还是MVVM 模式都 ......
Java

Java数组

数组 数组的定义 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组声明创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] ......
数组 Java

Java 自增自减运算符和移位运算符介绍

摘自 JavaGuide (「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!) 自增自减运算符 在写代码的过程中,常见的一种情况是需要某个整数类型变量增加 1 或减少 1,Java 提供了一种特殊的运算符,用于这种表达式 ......
运算符 Java

druid yml 参数配置

spring: datasource: # druid连接池 type: com.alibaba.druid.pool.DruidDataSource #数据库驱动 driver: com.mysql.jdbc.Driver #最大连接池数量 max-active: 20 #初始化时建立物理连接的个 ......
参数 druid yml

【JAVA白话一】——封装

JAVA白话一 封装 Begin……[A B C] 封装——面向对象的三个基本特征之一(另外两个是继承、多态) A.封装说明 封装使类成为一个具有内部数据的自我隐藏能力、功能独立的软件模块。 ① 封装是实现面向对象的第一步,封装就是将数据或函数等集合在一个单元中(类)。被封装的对象通常被称为抽象数据 ......
白话 JAVA

java 进程假死原因排查

1. 假死现象服务程序假死具有以下特征: 1. 程序对请求没有任何响应; 2. 程序请求时没有任何日志输出; 3. 程序进程存在,通过jps或者ps查看进程,可以看到服务进程存在; 2. 造成假死的可能原因1. java线程出现死锁,或所有线程被阻塞; 2. 数据库连接池中的连接耗尽,导致获取数据库 ......
进程 原因 java

帝国CMS粘贴图片自动上传到服务器(Java版)

​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。 通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。 其原理为一下步骤: 监听粘贴事件;【用于插入图片】 获取光标位置;【记录图片 ......
服务器 图片 Java CMS

(笔记)电源缓启动工作原理

一、缓启动电路的作用与方式 现在大多数电子系统都要支持热插拔功能,所谓热插拔,也就是在系统正常工作时,带电对系统的某个单元进行插拔操作,且不对系统产生任何影响。热插拔对系统的影响主要有两方面:其一,热插拔时,连接器的机械触点在接触瞬间会出现弹跳,引起电源振荡,如下图所示: 这个振荡过程会引起系统电源 ......
原理 电源 笔记

[Web Server]Tomcat调优之监控连接池/线程池

1 Tomcat 概述 1.1 引言: Tomcat - HTTP Connector 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Tomcat配置文件server.xml中: Connector的主要功能 ......
线程 Server Tomcat Web

java第三次作业

分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。 package shangjilianxi; public class Timu1 { public static void main(String[] args) { // TODO Auto-generate ......
java