
Java
u010585120
这个作者很懒,什么都没留下…
展开
-
进程和线程的区别
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。转载 2015-11-03 17:49:52 · 326 阅读 · 0 评论 -
HashMap实现原理分析
转载自:http://blog.youkuaiyun.com/vking_wang/article/details/14166593HashMap实现原理分析标签: HashMap2013-11-05 15:23 141297人阅读 评论(68) 收藏 举报 分类:【Java SE】(32) 版权声明:本文为博主原创文章,未经博主允许不得转载。转载 2016-12-02 11:06:46 · 421 阅读 · 0 评论 -
jdk动态代理实现原理
关于JDK的动态代理,最为人熟知要可能要数spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。那么,什么是JDK的动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。那么JDK是如何生成动态代转载 2017-03-29 17:43:46 · 485 阅读 · 0 评论 -
CGLIB代理
目标类:package proxy;/** * Created by * * @date 2017-03-28 11:54. */public class TargetClass{ public void printA() { System.out.println("print A"); } public void printB()原创 2017-03-30 11:51:12 · 546 阅读 · 0 评论 -
关于不同浏览器对URL编码的分析
先来看看三个url: url1. http://hi.baidu.com/爱宝的妍 url2. http://hi.baidu.com/%E7%88%B1%E5%AE%9D%E7%9A%84%E5%A6%8D (UTF-8 编码) url3. http://hi.baidu.com/%B0%AE%B1%A6%B5%C4%E5%FB (GBK 编码) 这三个url指向转载 2017-04-12 11:08:45 · 1581 阅读 · 0 评论 -
关于java中静态变量初始化
题目如下:[java] view plain copypublic class Test{ private static Test tester = new Test(); //step 1 private static int count1; //step 2 priva转载 2017-04-12 13:54:57 · 1595 阅读 · 0 评论 -
ngnix负载均衡
转载自:点击打开链接本节就聊聊采用Nginx负载均衡之后碰到的问题:Session问题文件上传下载通常解决服务器负载问题,都会通过多服务器分载来解决。常见的解决方案有:网站入口通过分站链接负载(天空软件站,华军软件园等)DNS轮询F5物理设备Nginx等轻量级架构那我们看看Nginx是如何实现负载均衡的,Nginx的upstream目前支持以下几种方式的分配转载 2017-05-10 09:29:02 · 823 阅读 · 0 评论 -
TIME_WAIT累积与端口耗尽
转载自:http://www.708luo.com/posts/2017/05/tcp-local-port-exhausted/最近在压测的时候遇到一个问题,python requests库在发起HTTP请求的时候,报错:Failed to establish a new connection errno 99。查了一下,这和错误是因为本地TCP端口耗尽导致的。因为之前通过打开tcp_times...转载 2018-06-27 11:49:29 · 4956 阅读 · 3 评论 -
CPU缓存一致性协议MESI,memory barrier和java volatile
转载自:https://www.wowodx.com/xinxiyujisuankexue/7fcf3737d630412fa3717ccc39966196.htmlMESI协议MESI协议是一个被广泛使用的CPU缓存一致性协议。我们都知道在CPU中存在着多级缓存,缓存级别越低,容量就越小,速度也越快。有了缓存,CPU就不需要每次都向主存读写数据,这提高了CPU的运行速度。然而,在多核CP...转载 2019-04-17 11:27:04 · 1260 阅读 · 0 评论 -
Java中字符串内存位置浅析
Java中字符串内存位置浅析前言之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来转载 2016-10-28 14:49:38 · 357 阅读 · 0 评论 -
关于tomcat classloader的几篇文章
http://blog.youkuaiyun.com/liweisnake/article/details/8470285http://www.cnblogs.com/xing901022/p/4574961.html原创 2016-10-10 13:55:44 · 291 阅读 · 0 评论 -
深入分析ClassLoader工作机制
//转载自【深入理解java web技术内幕】ClassLoader类结构分析:我们经常会用到或者扩展ClassLoader,主要会用到一下几个方法,以及他们的重载方法。defineClass(byte[],int,int);findClass(String);loadClass(String);resolveClass(Class)其中defineClas转载 2016-10-09 16:57:19 · 449 阅读 · 0 评论 -
java定时器的写法
import java.util.Timer;import java.util.TimerTask;public class GenebankTimerTask { public static void main(String[] args) { Timer timer = new Timer(); GenbankTask genbankTask = new GenbankTask原创 2015-08-18 16:06:45 · 3621 阅读 · 0 评论 -
the selection cannot be run on any server解决办法
只要将version="3.0"改成version="2.5",然后重启eclipse即可!!!具体操作步骤:找到你的eclipse:D:\eclipse\workspace-jee\项目名称\.settings\org.eclipse.wst.common.project.facet.core.xml这个配置文件,将 只要将version="3.0"改成version="2.5"原创 2015-08-11 15:37:13 · 5937 阅读 · 0 评论 -
搭建Java Web项目 Maven管理jar包
Java web项目转换为Maven项目转载 2015-08-11 10:22:47 · 525 阅读 · 0 评论 -
java中File的delete()方法删除文件失败的原因
一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用)2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有可能有可能自己前面没有关闭此文件的流(我遇到的情况) 这个方法我用来获取文件的大小,用到了流类,但是用完了没有关闭,导致无法删除文件:public Str原创 2015-08-17 09:54:50 · 1733 阅读 · 0 评论 -
java程序执行Linux命令
概要说明:java程序中要执行linux命令主要依赖两个类:Process和Runtime首先说明一下Process类:Process类是一个抽象类,封装了一个进程(即一个执行程序);Process类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁进程的方法。ProcessBuilder.start()和Runtime.exec方法创建一个本机进程原创 2015-10-08 09:24:59 · 3397 阅读 · 0 评论 -
【问题解决】Project facet Java version 1.7 is not supported.
在移植eclipse项目时,如果遇到“Project facet Java version 1.7 is not supported.”项目中的jdk1.7不支持。说明项目是其他版本jdk编译的,在eclipse里运行时会报版本不支持。解决办法:选中项目 Properties , 选择 Project Facets,右击选择 Java , Change Ve原创 2015-08-12 10:51:22 · 440 阅读 · 0 评论 -
spring quartz当时触发器
spring quartz定时触发器转载 2016-08-30 14:14:41 · 320 阅读 · 0 评论 -
javaweb程序员学习路线
javaweb学习路线转载 2016-08-31 11:29:55 · 678 阅读 · 0 评论 -
Java并发之AQS详解
转载自:http://www.cnblogs.com/waterystone/p/4920797.html一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的...转载 2019-04-29 11:39:13 · 276 阅读 · 0 评论