Java开发
蓝猫_虹
道为体,术为用。有道者术能长久,无道者术必落空。学术先需明道,方能大成。学术若不明道,终是小器。故道为纲,术为目,纲举目张。道为世间规律,术为规律之用,道为本,术为末,若本末倒置,则一世殆矣!
展开
-
springmvc的工作机制
springmvc的工作机制 在容器初始化时会建立所有url和controller的对应关系,保存到Map<url,controller>中.tomcat启动时会通知spring初始化容器(加载bean的定义信息和初始化所有单例bean),然后springmvc会遍历容器中的bean,获取每一个controller中的所有方法访问的url,然后将url和controller保存到...转载 2019-11-01 09:34:17 · 457 阅读 · 0 评论 -
Jmeter压测
在做JMeter压力测试中,有一次,当把线程调整到2000个之后,运行JMeter后,出现如下的错误信息: java.net.BindException: Address already in use: connect address already in used到底是什么状况导致这个错误呢? 最初的猜想是线程调得太高了。但是具体要如何进行解决确实一点头绪也...转载 2019-10-31 11:37:35 · 348 阅读 · 0 评论 -
递归执行顺序图解
原创 2019-10-24 10:03:02 · 1111 阅读 · 0 评论 -
java方法调用
java方法的调用过程2018-07-14 20:53:02qq_35495763阅读数 1932更多分类专栏:java我们知道,class 文件时 JVM能够识别的二进制文件,其中通过特定的结构描述了每个方法的定义。1.前提 2.java方法的执行 3.机器指令的格式 4.机器指令的执行模式—基于操作数栈的模式 三种语言存在的关系1.前提JVM在编...转载 2019-10-23 11:01:09 · 776 阅读 · 0 评论 -
java序列化
原文出处:天凉好个秋转发:http://www.importnew.com/24490.html前言对于Java的序列化,一直只知道只需要实现Serializbale这个接口就可以了,具体内部实现一直不是很了解,正好这次在重复造RPC的轮子的时候涉及到序列化问题,就抽时间看了下 Java序列化的底层实现,这篇文章算是这次的学习小结吧。第一部分:WhatJava序列化是指把Ja...转载 2019-04-18 09:52:09 · 498 阅读 · 0 评论 -
哈希表
转发:https://www.cnblogs.com/yangecnu/p/Introduce-Hashtable.html在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的...转载 2019-04-18 09:56:38 · 200 阅读 · 0 评论 -
闲扯hash,string
1.数组查询为何比链表快?1.寻址次数链表要多一些。数组只需对基地址+元素大小*k就能找到第k个元素的地址 对其取地址就能获得该元素。链表要获得第k个元素,首先要在其第k-1个元素寻找到其next指针偏移,再将next指针作为地址获得值。多了一步寻址操作,当数据量大且其它操作较少时 这就有差距了2.CPU缓存会把一片连续的内存空间读入,因为数组结构是连续的内存地址,所以数组全部或者部...原创 2019-04-18 17:50:31 · 807 阅读 · 0 评论 -
闲扯hashmap和hashtable
4.1 hashmap在JDK1.8中,HashMap做了一些改变:JDK1.7中,发生哈希碰撞时,将键值对添加到链表头部,JDK1.8是将键值对添加到链表尾部。JDK1.8中,如果链表的长度超过8,将会将链表转化为红黑树。容量的初始化:JDK1.7的HashMap在构造时会对容量进行初始化,而JDK1.8是在首次向HashMap总中执行put操作时,对容量进行初始化,也就是...原创 2019-04-18 17:53:31 · 256 阅读 · 0 评论 -
多并发下的hashmap的不安全及解决办法
转发:https://blog.csdn.net/Dazhu233/article/details/79679088多线程并发下的HashMapHashMap在多线程高并发下时线程不安全的,可能会出现cpu占用过高(死循环)的情况。这个现象的出现从源码分析来看,这个死循环的出现时因为resize()时复制元素时产生了循环链表。此部分转载自https://yq.aliyun.com/...转载 2019-04-19 09:00:25 · 929 阅读 · 0 评论 -
JAVA中return与finally的先后关系
转发:https://blog.csdn.net/sinat_22594643/article/details/80509266预备知识首先是关于return返回的底层知识java方法是在栈幀中执行,栈幀是线程私有栈的单位,执行方法的线程会为每一个方法分配一小块栈空间来作为该方法执行时的内存空间,栈幀分为三个区域:1. 操作数栈,用来保存正在执行的表达式中的操作数,数据结构...转载 2019-05-13 16:44:19 · 169 阅读 · 0 评论 -
java的cas原理分析
转发:https://blog.csdn.net/Hsuxu/article/details/9467651看了一堆文章,终于把JAVA CAS的原理深入分析清楚了。感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到!参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp:/...转载 2019-06-24 14:47:10 · 302 阅读 · 0 评论 -
转:为什么说Java中只有值传递
关于java的值传递和引用传递: 转发自:https://blog.csdn.net/bjweimengshu/article/details/79799485?tdsourcetag=s_pctim_aiomsg本文转载自公众号 Hollis对于初学者来说,要想把这个问题回答正确,是比较难的。在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容...转载 2019-08-19 19:55:12 · 190 阅读 · 0 评论 -
pinpoing配置-测试环境搭建
转发:https://bbs.csdn.net/topics/392514453下图是根据上面博客安装时候遇到的一些问题记录:转载 2019-10-08 08:27:38 · 206 阅读 · 0 评论 -
server,serversocket数据结构
原创 2019-02-18 16:14:51 · 206 阅读 · 0 评论 -
jenkins+maven+svn+tomcat构建持续集成
安装jenkins ,直接下载jenkins.war包, 窗口运行jenkins java-jar Jenkins.war http://localhost:8080 进入jenkins界面 添加插件系统管理新加 maven +svn等插件 新建一个任务 配置svn: 这里有个坑,svn一定是jenkins服务器可访问的。如果在这里配置的url...原创 2018-12-25 14:18:08 · 333 阅读 · 0 评论 -
Kafka分区与消费者的关系
转发:https://www.cnblogs.com/cjsblog/p/9664536.htmlKafka分区与消费者的关系1. 前言我们知道,生产者发送消息到主题,消费者订阅主题(以消费者组的名义订阅),而主题下是分区,消息是存储在分区中的,所以事实上生产者发送消息到分区,消费者则从分区读取消息,那么,这里问题来了,生产者将消息投递到哪个分区?消费者组中的消费者实例之间是怎么分配...转载 2018-12-28 09:11:05 · 182 阅读 · 0 评论 -
Java 程序启动
1.编写的Java程序启动过程 1.jvm先将java文件编译成class文件 class文件结构包括: 1.魔数 2.Java版本 3.常量池 4.本类 5.父类 6.接口 7.字段 8 方法 9属性 10识别标志 2.Java命令执行程序 2.1 java.c创建执行环境 先寻找jre路径--在寻找jvm路径,java.dll负责 2.2 加载j...原创 2018-06-24 21:57:59 · 1167 阅读 · 0 评论 -
java内部注解是如何实现的
1注解的本质是一个接口。 这里可以看到注解编译过后就是一个接口在javac命令的时候 private修饰词,不会被编译: 但是public会被编译:这里使用public的时候:会去找public上的注解符号,显示找不到 去掉public属性上的注解,再编译:找不到包文件: 去掉import编译通过。这里看来private属性编译的时候是不会再最开始的时候编译的,应该是在调用方法的时候去初始化...原创 2018-07-16 14:48:51 · 5440 阅读 · 0 评论 -
递归调用遇到的问题
//递归方法:privateList<DepartmentUtil> queryAllDepat(List<DepartmentUtil>departmentUtils,String enterpriseId,String departmentId) { // = new ArrayList<DepartmentUtil>(); ...原创 2018-06-28 16:33:42 · 856 阅读 · 0 评论 -
Timer执行过程
Timer 定时器执行过程:Timer TimerTask TimerQueueTimer是一个单线程 + 最小堆 + 不断轮询 Timer time=newTimer();n 调用构造方法创建timer类public Timer(){this("Timer-"+ serialNumber());}private final static AtomicIntegernextSerialNumbe...原创 2018-06-28 22:33:07 · 476 阅读 · 0 评论 -
cxf开发:代码优先和契约优先
CXF框架:代码优先的开发和契约优先的webservicehttps://www.cnblogs.com/decarl/archive/2012/05/15/2502074.html 这个博客对于cxf的开发流程写的比较详细:他们的核心是服务端和客户端之间传输的报文是wsdl报文:格式是固定的服务端和客户端之间的报文格式固定,这和socket和http不一样的是交互的报文格式固定。而s...原创 2018-07-18 09:21:18 · 503 阅读 · 0 评论 -
Timer的执行过程
Timer 定时器原理:Timer 类:if (time < 0)thrownew IllegalArgumentException("Illegal executiontime."); // Constrain value of periodsufficiently to prevent numeric// overflow while still beingeffectively inf...原创 2018-07-06 11:18:44 · 479 阅读 · 0 评论 -
java参数传递机制
1. java只有值传递??看一个案例吧。public class Test { public List<String> arrayList = new ArrayList<String>(); public static void main(String[] args) { new Test().sort(); }...原创 2018-08-24 10:25:38 · 196 阅读 · 0 评论 -
微服务,分布式,集群的概念及区分
现在微服务比较流行,很多人动不动就微服务,我觉得还是先要了解什么是微服务,再考虑项目开发是不是需要微服务。所以去网上搜集了一些说法并摘录。另外推荐springboot+springcloud的一个文章,网易技术团队的:http://tech.lede.com/2017/03/15/rd/server/SpringCloud0/ 关于介绍springcloud的相对系统些的。1:分布式:一个业...转载 2018-09-07 10:27:02 · 1179 阅读 · 0 评论 -
几种常见的路由负载均衡算法
package reg_fuzai.fuzai;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurren...原创 2018-09-11 09:31:24 · 3995 阅读 · 0 评论 -
socket传输过程中产生的粘包拆包问题
我们在之前一篇博客 https://blog.csdn.net/Jbinbin/article/details/82142878 说的是socket套接字底层数据传输。这篇博客中就出现了socket传输过程中的粘包拆包问题。就是因为socket发送的是无界线的数据流。所以当多个包的大小不一,并且发送出去的时候,缓冲区的大小不一样,会导致包与包之间和合并和包的拆分问题。对于上图粘包、...原创 2018-09-11 10:30:30 · 2314 阅读 · 0 评论 -
我所理解的多线程
第一次写,可能比较混乱,个人理解也有限,欢迎喷1. 什么是多线程?1.1 执行流关于操作系统的进程的概念我就不说了,这个应该都知道,线程是最基本的执行单元。多线程是在多任务操作系统之后带来的一个伪并行的机制。因为就单核cpu来说是没有真正的并行的,只是多道程序设计的方式,使得处理器在所有任务之间来回切换,给用户一种并行的感觉。真正的并行是多核处理器才能实现的,这种伪并行带来的好处是降低了任务...原创 2018-06-24 21:39:16 · 391 阅读 · 0 评论