- 博客(29)
- 收藏
- 关注
转载 搞定java面试系列--网络
1、osi七层网络模型,五层网络模型,每次层分别有哪些协议?我这里只写出需要知道的那些常用的协议。第七层:应用层,1.1 HTTP 超文本传输协议 FTP 文件传输协议 SMTP 简单邮件传输协议 DNS 域名系统第六层:表示层 DECnet NSP LPP 轻量级表示协议第五层:会话层SSL 安全套接字层协议 TLS传输层安全协议 ...
2019-02-24 11:54:35 235
转载 搞定java面试系列--jvm3 gc垃圾回收
1.明确什么是垃圾答案:在进行gc操作时候没有存活的对象。那么怎么去判断对象是否存活:老的方式-引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。说明没有任何引用了,此方法简单,但无法解决对象相互循环引用的问题。现在方式-可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为...
2019-02-13 21:17:38 228
原创 搞定java面试系列--jvm2 内存模型
1.1类加载完以后JVM干了什么?在类加载检查通过后,接下来虚拟机将为新生对象分配内存。1.1.1JVM的内存模型首先我们来了解一下JVM的内存模型的怎么样的:基于jdk1.8画的JVM的内存模型再来看看每个区域究竟存储的是什么(干的是什么):堆:存放对象实例,几乎所有的对象实例都在这里分配内存,同时包含一个常量池(final),是由1.7以前版本的方法区转移过来的。所以...
2019-02-12 20:21:53 344
转载 搞定java面试系列--jvm1类加载篇
1.1先来看看简单的Java程序现在我有一个JavaBean:public class JavaTestBean { private int age; private String name; //get和set方法}public class TestMain { public static void main(String[] args){ ...
2019-02-12 19:39:23 227
转载 pom配置之:<distributionManagement>snapshot快照库和release发布库
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升...
2018-07-12 14:35:11 167
转载 关于虚拟机无法共享文件夹错误解决
正确安装好VMware Tools后,可以实现主机与虚拟机之间的文件共享,可以设置共享文件夹,以及在主机与虚拟机之间直接进行复制黏贴的操作。安装方法:选择"虚拟机"—>"重新安装VMware Tools"弹出以下界面: 鼠标右键点击VMwareTools-10.0.10-4301679.tar.gz,选择"Copy To..."选择"Home"—>"Downloads":双击&qu
2018-04-09 16:48:09 14155 2
转载 58到家数据库30条军规解读
军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表、数据字段必须加入中文注释解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的 (4)禁止使用...
2018-03-05 16:52:33 199
转载 Url地址说明
一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?名称如此相像的两个类是有什么区别和联系?1.所属的包不同。URI位置在java.net.URI,显然是Java提供的一个类。而Uri位置在android.net.Uri,是由Android提供的一个类。所以初步可以判断,Uri是URI的“扩展”以适应Android系统的需要。2.作用的不同。URI类...
2018-03-01 15:46:26 1815
转载 kafka系列-在zookeeper中的存储结构
1.topic注册信息/brokers/topics/[topic] :存储某个topic的partitions所有分配信息Schema:{ "version": "版本编号目前固定为数字1", "partitions": { "partitionId编号": [ 同步副本组br
2018-01-15 14:31:12 230
转载 kafka系列-初识
1、Kafka使用背景在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题:我们想分析下用户行为(pageviews),记录用户cookie,以便我们设计出更好的广告位,我想对用户的搜索关键词进行统计,分析出当前的流行趋势有些数据,存储数据库浪费,直接存储硬盘效率又低 这些场景都有一个共同点:数据是由上游模块产生,上游模块,使用上游模块的数据计算、统计
2018-01-15 13:46:55 278
转载 redis系列-应用举例
公司线上一个项目数据存储采用MySQL,共分为10个库,分布在4台机器上,每个库数据量约为10G,各机器均采用RAID5加速磁盘访问;当同时在线人数达高峰期(10w),DB磁盘IO压力巨大,导致访问巨慢,,在线人数就很难上不去了。针对上面描述情况,使用redis后可有效解决这一瓶颈,因为Redis数据读写都是直接操作内。解决方案:将部分数据压缩导入到redis后,总数据量约
2018-01-11 16:32:29 219
转载 reis系列-持久化和同步机制
1 第一种: RDB持久化方式1.1概述默认redis是会以快照的形式将数据持久化到磁盘的(一个二进制文件,dump.rdb,这个文件名字可以指定),在配置文件中的格式是:save N M表示在N秒之内,redis至少发生M次修改则redis抓快照到磁盘。当然我们也可以手动执行save或者bgsave(异步)做快照。1.2实现机制当redi
2018-01-11 14:31:45 476
转载 redis系列-结构理论
可能前面提了这么多集群,主从的概念,其实他们是不同的,集群是整个多个主从服务器所构成的一个整体。先来一张redis集群的架构图: 在这个图中,每一个蓝色的圈都代表着一个redis的服务器节点。它们任何两个节点之间都是相互连通的。客户端可以与任何一个节点相连接,然后就可以访问集群中的任何一个节点。对其进行存取和其他操作。 那么redis是怎么做到的
2018-01-11 14:18:03 205
转载 redis系列-主从配置
一、本文目的 Redis的主从配置分为两篇文章,第一篇主要介绍了Redis主从配置的搭建过程及使用,第二篇主要说明各种情况下Redis主从状态,如Master挂掉,Slaver挂掉,挂掉后重新加入等。二、常用命令根据配置文件启动redis: src/redis-server redis.confg启动redis客户端:redis
2018-01-11 14:02:45 219
转载 redis系列-安装
一、概述 Redis3.0版本之后支持Cluster.1.1、redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于配置(nod
2018-01-11 12:53:50 175
原创 spring boot系列1 入门
构建微服务:Spring boot 入门篇什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所
2018-01-09 15:35:08 205
原创 secureCRT 实现windows和linux文件互传
背景: 有一台主机,安装了windows10,然后服务器安装了ubuntu。在windows10上安装SecureCRT来ssh连接ubuntu虚拟机。一般在windows上面下载软件要上传到服务器上使用,现在考虑使用sftp协议来直接传输。方案: 使用SecureCRT软件ssh连接到ubuntu服务器打开第一个会话。然后在SecureCRT上面文件选项中在次打开
2018-01-04 09:57:24 25757 1
原创 linux安装jdk1.8
1、下载Linux版的JDK 下载Linux版的JDK,例如我下载的是Linux版的JKD1.8,文件是jdk-8u151-linux-x64.tar.gz,我的linux系统是ubuntu 64位:jdk地址是:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2018-01-03 16:38:43 280
转载 eclipse+python+pydev环境搭建
编辑器: Eclipse + pydev插件1. Eclipse是写JAVA的IDE, 这样就可以通用了,学习代价小。 学会了Eclipse, 以后写Python或者JAVA 都可以。2. Eclipse, 功能强大。3. Eclipse跨平台, 可以在Mac上和Windows运行 安装Python下载地址:http://www.python.or
2018-01-03 15:19:58 191
转载 Linux分析apache日志获取最多访问的前10个IP
原文地址:http://xuqq999.blog.51cto.com/3357083/774714 apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。既然是统计,那么awk是必不可少的,好用而高效。命令如下:awk '{a[$1] += 1;} END {for (i in a) printf("%
2017-12-29 12:37:06 219
转载 java集合框架-HashMap
一、前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那就是在安全和功能性完备的情况下让其速度更快,提升性能。好~下面就开始分析源码。二、HashMap数据结构
2017-11-06 16:53:27 162
转载 java集合框架-ConcurrentHashMap
存储模型并发编程中的三个概念1、原子性2、可见性3、重排序对HashMap在jdk8有所了解对CAS有所了解对内置锁和显示锁等有所了解jdk8对ConcurrentHashMap做了很大的调整,首先因为HashMap在jdk8已经做了数据结构上的优化,增加了红黑树,详情可以参考我之前的博客。所以,jdk7针对ConcurrentHashMap的改进,主要是增加了
2017-11-06 16:51:23 300
原创 Java集合框架 - LinkedList
首先要知道,LinkedList实现的是双向循环链表。链表的组成元素我们称之为节点,节点由三部分组成:前一个节点的引用地址、数据、后一个节点的引用地址。LinkedList的Head节点不包含数据,每一个节点对应一个Entry对象。下面我们通过源码来分析LinkedList的实现原理。 1、Node类源码: 1 private static class Node
2017-11-06 15:03:38 188
原创 java并发编程 - 内部锁synchronized
Java并发编程:synchronized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。 以下是本文的目录大纲: 一.什么时候会出现线程安全问题? 二.如何解决线程安全问题?
2017-11-03 23:01:47 174
原创 java集合框架-ArrayList
虽然在源码实现上jdk1.7和jdk1.8有所不同,但是ArrayList底层维护的依然是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。 ArrayList不是同步的(也就是说不是线程安全的),如果多个线程同时访问一个ArrayList实例,而其
2017-11-03 10:45:49 152
原创 java集合框架 - list map set三大基本集合类
在介绍具体的集合之前,本篇文章对Java中的集合框架做一个大致描述,从一个高的角度俯视这个框架,了解了这个框架的一些理念与约定,会大大帮助后面分析某个具体类,让我们开始吧。1.集合框架(collections framework)在计算机领域,集合一般是指对象的集合,框架则是指有明确关系的集合的集合,其实这些新名词都是一个统称,归根结底集合也是一个类,只不过是一个可以储存并且处理多个其
2017-11-02 15:32:42 660
原创 java并发编程-创建线程
一.Java中关于线程和进程相关的概念 二.Java中如何创建线程 三.Java中如何创建进程四.面试种常问的三种线程创建方式的区别若有不正之处,请多多谅解并欢迎批评指正。一.Java中关于线程和进程相关的概念一般来说,一个java应用程序对应着JVM线程,即在我们自己的程序中如果没有主动创建线程的话,只会创建一个线程,通常称为主线程
2017-10-25 20:43:09 207
转载 在eclipse中使用maven创建springMVC项目
http://www.cnblogs.com/qixing/p/qixing.html在eclipse中使用maven创建springMVC项目一、在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持
2017-07-28 14:07:17 303
转载 spring mvc起步
工欲善其事,必先利其器:java开发环境搭建:1.首先是jdk jre的安装参考https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html主要是这两条: 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.6.0_05 注意后面是没有分号的。
2017-07-28 14:01:14 282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人