• 欢迎访问马东东的博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

计算机、互联网等IT技术

高并发编程系列:4种常用Java线程锁的特点,性能比较、使用场景

高并发编程系列:4种常用Java线程锁的特点,性能比较、使用场景

多线程的缘由在出现了进程之后,操作系统的性能得到了大大的提升。虽然进程的出现解决了操作系统的并发问题,但是人们仍然不满足,人们逐渐对实时性有了要求。使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更”节俭”的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段……

直通BAT必考题系列:JVM性能调优的6大步骤,及关键调优参数详解

直通BAT必考题系列:JVM性能调优的6大步骤,及关键调优参数详解

JVM系列直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置JVM内存调优对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。1.Full ……

直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景

直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景

直通BAT之JVM系列直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。常见的垃圾收集器有3类:1.新生代的收集器包括:……

直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结

直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结

BAT必考JVM系列专题 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 垃圾回收算法1.标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。然后,在清除……

直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置

直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置

JVM基本是BAT面试必考的内容,今天我们先从JVM内存模型开启详解整个JVM系列,希望看完整个系列后,可以轻松通过BAT关于JVM的考核。BAT必考JVM系列专题1.JVM内存模型2.JVM垃圾回收算法3.JVM垃圾回收器4.JVM参数详解5.JVM性能调优JVM内存结构由上图可以清楚的看到JVM的内存空间分为3……

阿里蚂蚁金服中间件(Java 4轮面试题含答案):Redis缓存+线程锁+微服务等

阿里蚂蚁金服中间件(Java 4轮面试题含答案):Redis缓存+线程锁+微服务等

第一轮 说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点? 讲讲jdk1.7和1.8的区别? 几种内置的线程池 MySQL事务隔离级别以及MVCC机制 Redis缓存雪崩、缓存穿透以及如何解决? 分布式架构简单介绍&nbs……

阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制

阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介……

高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

HashMap、CurrentHashMap 的实现原理基本都是BAT面试必考内容,阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制深入谈过hashmap的实现原理以及在JDK 1.8的实现区别,今天主要谈CurrentHashMap的实现原理,以及在JDK1.7和1.8的区别。内容目录:1.哈希表2.ConcurrentHash……

搭建TeamTalk服务器

搭建TeamTalk服务器

作者:DLTech21 发布时间:2018-04-13 之前一直都留意TeamTalk,蘑菇街的开源IM,但是一直没有时间去研究,这段时间利用了晚上的空闲时间来学习和进行二次开发,接下来一段时间我会慢慢介绍我踩过的坑。首先是在自己的虚拟机装一个tt的服务器吧。本文会在VirtualBox 虚拟机中进行安装部署一整套服务端,并做记录……

8年软件测试工程师感悟,写给还在迷茫中的朋友——软件测试工程师发展方向知识架构体系图

8年软件测试工程师感悟,写给还在迷茫中的朋友——软件测试工程师发展方向知识架构体系图

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。“长江……

剑指Java1-2TCP的三次握手笔记

剑指Java1-2TCP的三次握手笔记

说说TCP的三次握手TCP三次握手流程Wireshark抓包Wireshark抓包为什么需要三次握手才能建立起连接首次握手的隐患——SYN超时建立连接后,Client出现故障怎么办……

剑指Java1-1网络基础知识笔记

剑指Java1-1网络基础知识笔记

OSI开放式互联参考模型 TCP/IP……

2018年度GitHub上最热门的Java开源项目

2018年度GitHub上最热门的Java开源项目

在本文,猿妹为大家总结了一份2018年度GitHub上最热门的Java开源项目排行,这些项目都是根据GitHub Trending月度榜单上Top 10的Java开源项目整理而来。在过去的一年里上榜GitHub月度榜单的Java开源项目一共有60个,覆盖了各个Java领域,猿妹根据各个开源项目的上榜次数,制作了以下词云图,看看哪些项目是最……

1月份GitHub上最热门的Java开源项目

1月份GitHub上最热门的Java开源项目

明天相信大多数程序猿们都回归工作岗位啦,不知道是否调整好心态了呢?1月份GitHub上最热门的Java开源项目新鲜出炉,还是一起来看看都有哪些项目上榜吧:1、JavaGuidehttps://github.com/Snailclimb/JavaGuide Star 22668【Java学习+面试指南】 一份……

URI编码解码和base64

URI编码解码和base64

阅读目录概述区别base64编码与btoa概述对于uri的编解码,在js中有3对函数,分别是escape/unescape,encodeURI/decodeURI,encodeURIComponent/decodeURIComponent。它们的适用范围不同,而且遵循的编码规范也不同。对于上述函数而言,所有的ASCI……

一些编程语言面试刷题、算法刷题的网站

一些编程语言面试刷题、算法刷题的网站

1. leetcode:世界知名的演算法面试考题网站。想要省时省力的面试官从里面挑题目,于是求职者不得不去练习这些题目。部分题目还要收费。但是很多题目在实际工作中并不没有用处,很多纯属考察脑洞。http://leetcode.com/ 2. careerup :http://www.careercup.com/ 3. Ha……

2阿里P8架构师谈:NoSQL和SQL的区别,NoSQL的使用场景和选型比较

2阿里P8架构师谈:NoSQL和SQL的区别,NoSQL的使用场景和选型比较

什么是NoSQLNoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,它具有非关系型、分布式、不提供ACID的数据库设计模式等特征。NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无……

1阿里P8架构师谈:高并发与多线程的关系、区别、高并发的技术方案

1阿里P8架构师谈:高并发与多线程的关系、区别、高并发的技术方案

 什么是高并发?高并发(High Concurrency)是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问收到大量请求(例如:12306的抢票情况;天猫双十一活动)。该情况的发生会导致系统在这段时间内执行大量操作,例如对资源的请求,数据库的操作等。高并发的处理指标?高并发相关常用的一些指标有……

IntelliJ IDEA常用快捷键汇总

IntelliJ IDEA常用快捷键汇总

IDEA内存优化 IntelliJ IDEA安装路径\bin\idea.exe.vmoptions—————————————–-Xms64m-Xmx256m-XX:Max……

Centos 6.5 python 2.6 升级到 2.7

Centos 6.5 python 2.6 升级到 2.7

Centos 6.5系统的自带的Python是2.6.6版本。于是,想升级到2.7.14,在此开篇记录一下,权当备忘。查看python的版本#python -VPython 2.6.61.下载Python-2.7.14#wget http://python.org/ftp/python/2.7.14/Python-2.7.14.tar.bz2……

Linux常用命令总结

Linux常用命令总结

1.移动文件移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将Python-2.7.14.tgz文件从当前目录移动到其它目录,以/usr/local/src/为例,语法应该如下:#mv Python-2.7.14.tgz /usr/local/src/2.重命名文件例如,将文件aaa.python更名为bbb.python,……

vim常用命令

vim常用命令

删除法一:单行删除,:1(待删除行)d多行删除 ,:1,10d法二:光标所在行,dd光标所在行以下的N行,Ndd多行注释  1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;  2. 在行首使用上下键选择需要注释的多行;  3. 按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符……

比特币入门教程

比特币入门教程

比特币(bitcoin)诞生于2008年的一篇论文。一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?但是,狂想居然变成了现实。随后的几年,在全世界无数爱好者的支持下,比特币网络运行起来了,越来越多的人和……

华为实施微服务架构的五大军规

华为实施微服务架构的五大军规

老司机简介李林锋,2007年毕业于东北大学,2008年加入华为,从事电信软件的架构设计和开发。8年Java NIO通信框架、网关平台和中间件设计和开发经验,精通Java NIO、Netty和Mina等NIO通信框架,《Netty权威指南》作者,目前从事云平台相关的架构设计和开发。前言随着业务的发展,代码量的膨胀和团队成员的增加,传……

Apache+PHP+MySQL环境搭建和配置

Apache+PHP+MySQL环境搭建和配置

引言Apache+PHP+MySQL的组合,简称AMP, 是一个网站开发黄金组合。Apache: Web服务器软件,它快速、可靠并且可通过简单的API扩充,将Perl/Python/Php等解释器编译到服务器中。PHP:是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,跨平台,使用广泛,PHP可以编译成具有与许多数据库相连接的……

Windows下PATH等环境变量详解

Windows下PATH等环境变量详解

在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH。正确地配置这些环境变量,是能够顺利学习、开发的前提。而经常出现的问题是:有的学习者能够按照提示一步一步地正确配置,但时间一长就忘了,出现了问题也无从下手。究其原因,就是对这些概念没有理解,知其然但不知其所以然。下面的内容,就是帮助大家知其所以然。一、基……

Android 开源项目分类汇总

Android 开源项目分类汇总

Android 开源项目分类汇总,更全更新可见codekk.com目前包括:Android 开源项目第一篇——个性化控件(View)篇包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipVie……

那些年收藏的Android开源库集合(UI效果)

那些年收藏的Android开源库集合(UI效果)

动画效果粒子动画效果https://github.com/glomadrian/Grav 水波式loading等待动画https://github.com/race604/WaveLoading  滚动RecycleView动画https://github.com/borjabravo10/FocusResize  R……

Android开源项目及库整理总结

Android开源项目及库整理总结

github排名https://github.com/trending,github搜索:https://github.com/searchUIAwesome-MaterialDesign– MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库。awesome-androi……

当我说要做大数据工程师时他们都笑我,直到三个月后

当我说要做大数据工程师时他们都笑我,直到三个月后

申明:本文旨在为普通程序员(Java程序员最佳)提供一个入门级别的大数据技术学习路径,不适用于大数据工程师的进阶学习,也不适用于零编程基础的同学。前言:一、背景介绍二、大数据介绍正文:一、大数据相关的工作介绍二、大数据工程师的技能要求三、大数据学习规划四、持续学习资源推荐(书籍,博客,网站)五、项目案例分析(批处理+实时处理)&……

Sublime Text3使用指南

Sublime Text3使用指南

前言(Prologue)Sublime Text是一款跨平台代码编辑器(Code Editor),从最初的Sublime Text 1.0,到现在的Sublime Text 3.0,Sublime Text从一个不知名的编辑器演变到现在几乎是各平台首选的GUI编辑器。特别是Sublime Text编写JavaScript/HTML/Python是非常好的……

sourceforge视音频常用的开源项目

sourceforge视音频常用的开源项目

所有的音视频凯源代码在这里:http://sourceforge.net/directory/audio-video/os:windows/0.视频项目0.1 VLC media playerVLC 多媒体播放器(最初为VideoLAN Client,是VideoLAN计划的开放源代码多媒体播放器。)支援众多音讯与视讯解码器及档案格式,并支援DVD影音……

sourceforge优秀项目简介

sourceforge优秀项目简介

sourceforge优秀项目介绍之一:PowerFolder 文件同步 sourceforge优秀项目介绍之二:MindTouch 数据共享 sourceforge优秀项目介绍之三:Ehcache 分布式缓存 sourceforge优秀项目介绍之四:Hyperic HQ 企业监管 sourceforge优秀项目介绍之五:Firebird 数……

Hexo问题汇总

Hexo问题汇总

1、解决HEXO出现ERROR Deployer not found: git的问题在执行hexo deploy的时候一直出现ERROR Deployer not found: git。参照网上的方式:deploy的type的github需要改成gitnpm install hexo-deployer-git –save若仍然无解,修改blog……

hexo常用命令笔记

hexo常用命令笔记

hexo 皮肤Githubhexo 皮肤预览hexo官方文档 https://hexo.io/docs/hexonpm install hexo -g #安装 npm update hexo -g #升级 hexo init #初始化简写hexo n "我的博客" == hexo new "我的博客" #新建文章hexo p =……

git无法pull仓库refusing to merge unrelated histories

git无法pull仓库refusing to merge unrelated histories

本文讲的是git合并pull两个不同的项目,出现的问题如何去解决fatal: refusing to merge unrelated histories先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull因为他们是两个不同的项目,要把两个不同的项目合并。假如我们的源是origin,分支……

git 将一个本地文件目录提交到远程仓库的步骤

git 将一个本地文件目录提交到远程仓库的步骤

GIt官方文档 https://git-scm.com/1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库git init2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件git add .3、用命令 git commit告诉Git……

Hexo + GitHub Pages搭建博客

Hexo + GitHub Pages搭建博客

搭建 Node.js 环境为什么要搭建 Node.js 环境? – 因为 Hexo 博客系统是基于 Node.js 编写的Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以在非浏览器环境下,解释运行 JS 代码。在 Node.js 官网:https://nodejs.org/en/下载最新安装包……

一些实用的开源炫酷框架—值得你去了解

一些实用的开源炫酷框架—值得你去了解

一、RecycleView的上啦刷新和下拉加载效果图:支持加载头布局文件:https://github.com/huxq17/XRefreshView二、 CanRefresh可适配所有视图的下拉刷新上拉加载,并支持各种风格。项目地址:https://github.com/canyinghao/CanRefresh三、FileDownL……