Maven配置阿里云镜像不生效问题(解决) 除了在maven的settings.xml文件配置```c`<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
线程的六种状态详细描述 线程的六种状态为NEWRUNNABLEWAITINGTIME_WAITINGBLOCKEDTERMINATED以下为源码/*** Thread state for a thread which has not yet started.*/NEW, /** * Thread state for a runnable thread. A thread in t...
Goaccess分析ngin日志踩坑讲解 Goaccess可以对nginx日志进行可视化分析废话不多说我们先进行安装安装方法第一种方法:直接输入 yum -y install goaccess第二种方法:#安装依赖yum -y install libmaxminddb-devel#下载源码wget https://tar.goaccess.io/goaccess-1.2.tar.gz#解压tar -xzvf goacc...
logback日志文件配置 复制即可用 <?xml version="1.0"?><configuration> <property name="log.path" value="./logs"/> <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/info.log</file>
Linux python3安装过程 删除python3:https://www.cnblogs.com/guo2733/p/11459179.html安装python3:https://www.cnblogs.com/yhongji/p/9383857.htmlssl 脚本https://www.jb51.net/article/176223.htmdjango环境:https://blog.csdn.net/angry_mills/article/details/79249645命令脚本#python卸载whereis
Java获取真实IP地址 Java获取真实IP地址public static String getIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (!checkIP(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (!checkIP(ip)) {
JS复制文本的代码 function copyId(str) { //str是你的文本 可根据业务需求进行扩展 var textField = document.createElement('textarea'); $(textField).html(str); document.body.appendChild(textField); textField.select();...
JS获取浏览器的参数(解析中文) /** * 获取置顶浏览器参数 解析中文 * @param name * @returns {string|null} */function getQueryVariableWithZhongWen(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r ...
实习算法汇总(一) 一:求集合的所有子集可采用迭代法进行相应的求解如原始的集合为(a,b,c) 则第一次的迭代为(a)第二迭代为(a,ab,b)第三次迭代为(a,ab,b,ac,abc,bc,c)每次迭代,都是上一次迭代的结果+上次迭代结果中每个元素加上当前迭代的元素+当前迭代的元素上一次迭代的结果为a,上次迭代结果每个元素加当前迭代的元素为ab,当前迭代的元素为b组成就是(a,ab,b)代码为...
MVCC具体实现及名词解释(转载 修改一些小错误) MVCCMulti-Version Concurrency Control 多版本并发控制,MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问;在编程语言中实现事务内存。它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系统的并发性能一句...
JVM区域TLAB TLAB全称是Thread Local Allocation Buffer即线程本地分配缓存,从名字上看是一个线程专用的内存分配区域,是为了加速对象分配而生的,每一个线程都会产生一个TLAB,该线程独享的工作区域,JAVA虚拟机使用这种TLAB区域避免多线程冲突问题,提高了对象分配的效率,TLAB空间一般不会太大,当大对象无法在TLAB区域分配时,则会直接分配到堆上-XX:+UseTLAB 使用...
用户态和内核态的理解和区别 1、linux进程有4GB地址空间,如图所示:3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。2、特权级的概念:对于任何操作系统来说,创建一个进程是核心功能。创建进程要做很多工作,会消耗很多物理资源。比如分配物理内存,父子进程拷贝信息,拷贝设置页目录页表等等,这些工作得由特定的进程去做,所以就有了特权级别的概念。最关键的工作必须交给特...
SpringMVC| Mybatis执行流程 MVC执行流程第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找)第三步:处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控...
请你讲讲wait方法的底层原理 wait即object的wait()和notify()或者notifyall()一起搭配使用wait方法会将当前线程放入wait set等待被唤醒1.将当前线程封装成objectwaiter对象node2.通过objectmonitor::addwaiter方法将node添加到_WaitSet列表中3.通过ObjectMonitor:exit方法释放当前的ObjectMonitor对象,这...
死锁的特点 死锁是指在一组进程中的哥哥进程均不占有释放的资源,但因互相申请被其他进程所占用不会释放的资源而处于的一种永久等待状态。即两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。死锁的四个条件:互斥条件:资源不能被共享,只能由一个进程使用请求与保持条件:线程请求别的资源失败的时候,对自己所持有的锁不释放不剥夺条件:对于一个在执行的线程所持有的锁,在这个线程没有执...
GcRoot可以有哪些? GcRoot是垃圾回收器算法中判断一个对象是否可以回收的一种算法就是对象到达GcRoot的路径是否还有可达,即是否有可引用链,如果有,这表明对象还存在着引用,如果没有,则表明该对象没有引用,在下一次垃圾回收时就会被回收GcRoot的种类1.虚拟机栈:栈帧中的本地变量表引用的对象2.native方法引用的对象3.方法区中的静态变量和常量引用的对象...
JVM强弱引用及算法 停止-复制算法:将可用的内存按容量划分为大小相等的两块(from,to),每次只是用其中一块(总有一块是空的【to区域】)。当这一苦熬的内存用完了,就将还存活着的对象复制到另外一块上面,然后把已使用过的内存空间一次清理完。HotSpot虚拟机默认Eden和Survivor大小的比例是8:1,也就是每次新生代中可用的内存空间为整个新生代容量的90%,只有10%的内存时被浪费的。缺点:浪费内存...