博客专栏  >  编程语言   >  一周一篇Java概念

一周一篇Java概念

学好java基础,学好java的语言特性,无论什么代码都能看的清清楚楚。

关注
10 已关注
63篇博文
  • Java常见缺陷模式

    Java常见缺陷模式指出下列各代码片段存在的缺陷,陈述你的理由并修改缺陷(共15题)1.字符串相等问题private void bug_method(String str){ if ( str...

    2017-09-22 12:57
    342
  • java manacher算法计算最长回文字符串

    求解最长回文字符串朴素算法最朴素的算法是暴力解法就不谈了,时间复杂度是O(n3)。比最朴素解法稍微好一些的解法是O(n2)的一种解法,思路是从对称轴开始考虑,根据回文字符串长度的奇偶分为两种情况,如果...

    2017-09-11 19:31
    377
  • java 最快获取最小前K个数

    从一列n个数字中取最小的前k个数字。这是一个面试经常会问到问题,回答这个问题并不难,但是如何能分析出最优的算法,能够分析出多少种算法,这会是面试官真正感兴趣的问题。这里总结一下这个问题的所有解法与复杂...

    2017-08-29 20:03
    484
  • java 快速幂取模算法

    当我们计算AB%C的时候,最便捷的方法就是调用Math函数中的pow方法,但是有时A的B次方数字过大,即使是双精度的double也会溢出,这个时候为了得到AB%C的结果,我们会选择使用快速幂取模算法,...

    2017-08-25 21:31
    851
  • java 欧拉定理及原根的计算

    java很少要用到非常复杂的算法,因为这门语言被创建就不是为了表述数学概念或是计算算法的。但有很多知识已经更偏向于算法概念,而且我们必须掌握。因为如果你一点都不了解,当面试官问你有关数论的问题的时候你...

    2017-08-24 18:48
    485
  • java 动态规划策略原理及例题

    动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。在面试笔试中动态规划也是经常作为考题出现,其中较为简单的DP题...

    2017-08-22 19:44
    1132
  • java 最长公共子序列(LSC)问题

    题目: 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的) 举例: Str1 Str2 resultStr abciba abdcab abca ab...

    2017-08-07 14:46
    390
  • java JVM运行时栈帧结构

    JVM中数据区域分为虚拟机栈、JAVA堆、方法区、运行时常量池、程序计数器(PC寄存器)这几类。在这五类中,虚拟机栈用来表示各个线程中方法执行情况的区域,而栈帧是虚拟机栈中的栈元素。栈帧是用于支持虚拟...

    2017-07-31 20:07
    477
  • java 观察者模式

    观察者模式定义了一个一对多的依赖关系,当被观察者(主题)更新时会自动更新观察者们。在观察者模式中,被观察者无需知道有哪些观察者在观察它,只是在发生变化的时候调用更新的方法即可;观察者无需知道具体观察了...

    2017-07-22 23:23
    466
  • java 策略模式

    设计数据结构时,有句经典的哲理叫做:多用组合,少用继承。相比较继承,组合能提供更高的灵活性。策略模式通过使用组合代替继承的方法将不同的算法族整理成在主类之外的其他类,并在主类中添加算法族的对象,达到了...

    2017-07-20 21:22
    383
  • 一个例子学通JAVA编译的原理

    本文用一个简单的例子深度分析JAVA是如何将.java文件进行编译得到字节码,需要用到的工具有: NotePad++ Cmder(用windows自带cmd亦可) UltraEdit java环...

    2017-07-18 13:29
    430
  • java class文件布局架构

    c语言将.c文件编译生成与硬体相关的二进制机器指令,问题在于不同的系统中的机器指令不同,所以c语言所编写的程序可移植性差。而java号称一次编写,到处运行(Write Once,Run Anywher...

    2017-07-17 23:00
    298
  • docx4j基本操作

    欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

    2017-01-04 20:43
    4035
  • java 对象存活分析——引用计数法&可达性分析

    java虚拟机总共分为五个区域,其中三个是线程私有:程序计数器,虚拟机栈,本地方法栈,两个是线程共享:堆,方法区。线程私有的区域等到线程结束时(栈帧出栈时)会自动被释放,空间比较容易清理。而线程共享的...

    2017-07-13 09:36
    1057
  • java int与byte类型转换的2种方法

    int是四字节,32位数。byte是一字节,8位数。在日常的格式转换中,我们只需要将byte类型数据前加括号加(int)即可转换成int类型数据。但是最近接触到一种全新的转换方法,虽然得到的结果是相同...

    2017-07-09 13:55
    748
  • java 弱哈希映射表WeakHashMap原理

    弱哈希映射表的原理其实很好理解,首先我们要知道HashMap的原理。如果我们将一个对象a以及他的引用A作为一个key值关联某个Value值后put入HashMap中,那么这个a对象的引用不仅仅有A,而...

    2017-07-09 11:41
    778
  • java 深度解析JVM内存分布机制

    Java与C++之间有一堵由**内存动态分配**和**垃圾回收机制**技术围成的高墙,墙外面的人想进去,墙里面的人想出来。 像往常一样的某天清晨,程序员来到公司打开电脑,从使用new创建一个对象开始,...

    2017-07-08 15:53
    540
  • java MD5(Message Digest Algorithm 5)加密算法

    在工作项目中,我们接受用户的个人信息和类似账号密码此类数据时必须对其进行加密,否则可能会导致信息的泄露引发安全性问题。加密的方式有很多种,其中较为常用的加密方式是MD5加密算法和SHA-1加密算法,这...

    2017-07-04 18:53
    528
  • java 观察者模式利与弊分析

    观察者模式是比较常用的一种设计模式,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监听一个主题对象。当被观察者状态发生改变时通知相应的观察者,使得这些观察者对象能够自动更新。但当我们使用...

    2017-07-04 14:31
    315
  • java 效率极高的查询数据结构——SkipList 跳表

    前一阵子和朋友聊天,他和我讲在面试中被问到跳表。当时我也很迷从来没听说过跳表,赶快学习了一下,学习了之后才发现这个数据结构不是很难,而且效率非常高,在平均情况下查找的时间复杂度约为O(log n)堪比...

    2017-07-01 11:21
    562
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部