Java垃圾回收机制、系统设计、Android异步、排序算法

01谈谈Java的垃圾回收机制以及触发时机内存回收机制:就是释放掉在内存中已经没有用的对象,要判断怎样的对象是没用的,有两种方法:(1)采用标记数的方法,在给内存中的对象打上标记,对象被引用一次,计数加一,引用被释放,计数就减一,当这个计数为零时,这个对象就可以被回收,但是,此种方法,对于循环引用的对象是无法识别出来并加以回收的,(2)采用根搜索的方法,从一个根出发,搜索所有的可达对象,则剩下的对
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

java同步系列之Semaphore源码解析

问题(1)Semaphore是什么?(2)Semaphore具有哪些特性?(3)Semaphore通常使用在什么场景中?(4)Semaphore的许可次数是否可以动态增减?(5)Semaphore如何实现限流?简介Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可,每次调用release()都将归还一个许可。特性Semaphore通常用于
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

进阶不看这5本SQL书籍,那你真是亏大了!

作者:里奥ii链接:https://zhuanlan.zhihu.com/p/68264339来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。如果您是一位经验丰富的程序员,并且知道如何编写SQL查询和数据库基础知识,但是希望将您的SQL和数据库技能提升到下一个级别,那么你来对地方了,在这篇文章中,将和大家推荐几本高级SQL编程的最佳书籍,这些书籍可以帮助您编写更好的S
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

不知道Java类文件结构的同学,看这篇文章就够了

一、前言  代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。经过多年的发展,目前的计算机仍然只能识别0和1,但是由于近10年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(Native Code)已不再是唯一的选择,越来越多的程序语言选择了操作系统和机器指令集无关的、平台中立的格式作为程序编译后
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

MySQL 导致 CPU 消耗过大,如何优化

谁在消耗cpu?用户+系统+IO等待+软硬中断+空闲祸首是谁?用户用户空间CPU消耗,各种逻辑运算正在进行大量tps函数/排序/类型转化/逻辑IO访问…IO等待等待IO请求的完成此时CPU实际上空闲如vmstat中的wa 很高。但IO等待增加,wa也不一定会上升(请求I/O后等待响应,但进程从核上移开了)产生影响用户和IO等待消耗了大部分cpu吞吐量下降(tps)查询响应时间增加慢查询数增加对my
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

浅谈一个Java类的生命周期

前言一个Java类从被加载到虚拟机内存开始,到卸载出内存为止,它经过了哪些步骤呢?这篇文章就来简述一下关于Java类生命周期相关的知识,其中每个生命周期的具体内容不会细讲,因为内容太多,我准备专门花一篇文章介绍类生命周期中的详细步骤,期待下一篇文章吧~概述一个Java类从开始到结束整个生命周期会经历7个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

谈谈面试Java后端开发人员的感受

作者:里奥ii链接:https://zhuanlan.zhihu.com/p/67736843来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面的。我也知道,不少候选人能力其
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

一个Java对象到底有多大?

编写Java代码的时候,大多数情况下,我们很少关注一个Java对象究竟有多大(占据多少内存),更多的是关注业务与逻辑。但是殊不知,在我们不经意间,大量的内存被无形地浪费了。一个Java对象到底有多大?想要精确计算一个Java对象占用的内存,首先要了解Java对象的结构表示。Java对象结构一个Java对象在Heap的表示,可以分为三部分:Object HeaderClass PointerFiel
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

Java开发人员最常犯的9个错误,你占几个?

作者:里奥ii链接:https://zhuanlan.zhihu.com/p/67595187来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。01Array转ArrayList当需要把Array转成ArrayList的时候,开发人员经常这样做:Arrays.asList会返回一个ArrayList,但是要特别注意,这个ArrayList是Arrays类的静态内部类,并
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

面试官:讲一下Jvm中如何判断对象的生死?

作者:里奥ii链接:https://zhuanlan.zhihu.com/p/67412048来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。但凡问到 JVM(Java 虚拟机)通常有 99% 的概率一定会问,在 JVM 中如何判断一个对象的生死状态?判断对象的生死状态的算法有以下几个:1、引用计数器算法引用计算器判断对象是否存活的算法是这样的:给每一个对象设置一个引
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

怎么给女朋友讲明白线程池?

前言线程池是Java面试必问问题之一!有没有对源码滚瓜烂熟的童鞋?请举手!  ‍♂️(怎么没人举手。。)对了,今天先来撒一波狗狼~(表打我~)来,介绍下:她叫码妞,是我码仔的女朋友喔!她也在学习各类前端技术,可厉害了!大家鼓掌欢迎吧!以后她会经常来问我问题的,要被烦了~最近码妞也在看Java线程池呢,已经看得一头雾水了,正准备去问问码仔,看码仔能不能给她讲明白了!线程线程是一种资源,并不是只存在程
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

不重启JVM,替换掉已经加载的类,偷天换日?

来源:美团技术博客美团技术团队 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池的问题,重启会破坏现场。”长达几十秒的沉默之后:“据说,排查问题的最高境
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

选择Java程序员后,怎么才能逐渐脱离码农的噩梦

当你选择了IT这个行业后,尤其是当你选择了Java程序员这个岗位后,你会跟996加班、脱发、猝死、找不到女朋友等等这些词扯上关系,尽管事实情况并没有这么夸张,但是你的身边会不断涌现出来这些词语,你害怕了吗?玩笑开完了,下面我们进入今天的主题。\当你选择了技术工作,尤其是想学高深的技术,不是靠一时冲动就可以完成的。你需要做到以下三件事。第一:有充实的基础知识任何学科基础都是最重要的,基础也占据大部分
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

一个好Java程序员,是无码胜有码,你懂这话的意思吗

对于一个程序员来说,写多少代码不重要,重要的是解决问题的效率。用Java解决问题的经验一个下午就能搞定的问题,为什么还要花几周的时间写 bug ?正因为这样“无码程序员”的稀缺,2019 年,Java开发岗依然爆火。对于想从事Java高级工程师的人来说,或者想面试Java高级工程师的人来说,该学些什么?怎么学习才最有效?今天就给大家分享一些学习Java编程的经验。关键一:学什么?评判一个人的编码能
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

30 张快速学习 Java 的思维导图

在网上收集了 30 张大佬制作的 Java 知识点总结的思维导图,整理成了这篇文章分享给大家,帮助大家梳理构建 Java 的知识体系。这份思维导图包含从Java的简介、主要特性、发展历史到语法、数据类型、修饰符、运算符、类、数组、框架、面向对象的编程思想等大大小小的知识点。一方面可供初学者参考,另一方面,便于大家结合思维导图深入学习、理解、思考;本文按顺序依次展示以下内容的思维导图:1、Java
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

怎么理解java的面向对象及三个特性

首先,Java中,除了8种基本数据类型。其他皆为对象。Java的8种基本数据类型:byte  short  int  long  float  double  char  boolean.  基本数据类型的值,是直接存储在线程的方法栈中的 而对象的值存储在堆(Heap)中,在方法栈的栈帧里,只存了对象的地址引用 PS:详见JVM内存模型面向对象主要有三个基本特征:封装,继承,多态。五个基本原则:
分类: 编程语言 发布时间: 02-20 21:53 阅读次数: 0

深入 Java 虚拟机之面试总结篇

在学习 JVM 相关知识,怎么让自己有动力看下去,且有思考性呢?笔者认为,开头用一些常用的面试题,来引入读者的兴趣比较好,这样才会有看下去的动力。所以,该篇文章会以面试+总结的方式,希望读者能先思考写出答案,再查看相关知识。一、JVM常见面试题介绍下 Java 内存区域Java 对象的创建过程对象的访问定位有几种String、StringBuilder、StringBuffer 有什么不同?这是一
分类: 编程语言 发布时间: 02-20 21:52 阅读次数: 0

航电oj2009-2011参考代码

航电oj2009-2011参考代码--C语言
分类: 编程语言 发布时间: 02-20 21:42 阅读次数: 0

东南亚版的”蚂蚁金服”如何抢占蓝海市场?

最近几年随着国内和欧美市场逐渐饱和,竞争不断加剧,大量的互联网创业者和资本大佬们开始把目光转入东南亚蓝海新市场,力求赢得一席之地。李文博就是其中一位,他所创立的Akulaku不仅在东南亚混的风生水起,还受到了蚂蚁金服的青睐,于去年年初完成了其参投1亿美元的D轮融资,或将和阿里在东南亚布局的企业产生业务协同效应。Akulaku是一家以虚拟信用卡起家、主打海外市场分期购物的电商平台,运营主体是深圳岩心
分类: 编程语言 发布时间: 02-19 21:33 阅读次数: 0

要问技术多NB,请问IO模型知多少? | 上篇

 1   引言同步异步I/O,阻塞非阻塞I/O是程序员老生常谈的话题了,也是自己一直以来懵懵懂懂的一个话题。比如:何为同步异步?何为阻塞与非阻塞?二者的区别在哪里?阻塞在何处?为什么会有多种IO模型,分别用来解决问题?各种IO模型的优劣势在哪里,适用于何种应用场景?常用的框架采用的是何种I/O模型? 2   定义2. I/O 的定义在计算机系统中I/O就是输入(Input)和输出(Output)的
分类: 编程语言 发布时间: 02-19 21:33 阅读次数: 0