Java虚拟机解析篇之---垃圾回收器

上一篇说了虚拟机的内存模型,在说到堆内存的时候我们提到了,堆内存是Java内存中区域最大的一部分,而且垃圾回收器主要就是回收这部分的内容。那么这篇就来介绍一下垃圾回收器的原理以及回收的算法。Java中的垃圾回收器(GC)是Java中比较有特色的一点,不需要我们手动的去管理一个对象,不想C++中的构造函数和析构函数一样,需要程序猿自己去手动的管理,很容易造成内存泄露的问题。当然如果学过OC语言的话,...
阅读(10210) 评论(6)

Java虚拟机解析篇之---内存模型

今天闲来无事来,看一下Java中的内存模型和lajihuisongjizh...
阅读(7262) 评论(2)

数据结构和算法设计专题之---单链表中在指定的节点前面插入以及删除一个节点

题目: 在给定头结点的单链表中c...
阅读(2925) 评论(1)

数据结构和算法设计专题之---判断两个链表是否相交并找出交点

题目: 一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。 首先来看一下如何判断两个链表是否存在相交的节点: 思路: 1、碰到这个问题,第一印象是采用hash来判断,将两个链表的节点进行hash,然后判断出节点,这种想法当然是可以的。 2、当然采用暴力的方法也是可以的,遍历两个链表,在遍历的过程中进行比较,看节点是否相同。 3、第三种思路是比较奇特的,在编程...
阅读(2187) 评论(0)

数据结构和算法设计专题之---判断单链表中是否有环,环的长度,环的入口节点

题目: 给定一个单链表,只给出头指针head: 1、如何判断是否存在环? 2、如何知道环的长度? 3、如何找出环的连接点在哪里? 4、带环链表的长度是多少?   解法: 1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。 2、对于问题2,记录下问题1的碰撞点p,sl...
阅读(3708) 评论(0)

数据结构和算法设计专题之---八大内部排序

摘要: 前几天,看到一篇前辈的博文“程序员必知的8大排序”,不禁的手痒起来,重新翻开严蔚敏老师的《数据结构》复习了一遍,然后一一的用java去实现,其中有不足之处,还望各位道友指正出来。   先来看看8种排序之间的关系:   第一:直接插入排序 1. 基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第...
阅读(3251) 评论(1)

数据结构和算法设计专题之---求子数组和的最大值

题目: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。 很容易理解,当我们加上一个正数时,和会增加;当我们加上一个负...
阅读(2152) 评论(1)

数据结构和算法设计专题之---二分查找(Java版)

1、前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序 2、原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前面找,若大于中值则在中值后面找,等于中值时直接返回。然后依次是一个递归过程,将前半部分或者后半部分继续分解为三部分。可能描述得不是很清楚,若是不理解可以去网上找。从...
阅读(2347) 评论(0)

Ubuntu中的解压缩文件的方式

记录Ubuntu下各种压缩和解压方式: .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.g...
阅读(4352) 评论(0)

Ubuntu下安装JDK图文解析

我们在64位的Ubuntu中安装JDK,选择的是jdk1.6.0_32版本。安装文件名为jdk-6u32-linux-x64.bin(这个是64位系统的),如果是32位系统的还需要去官网下载32位的JDK Ubuntu 64位系统的JDK下载地址: http://download.csdn.net/download/nourewang/4347727 Ubuntu 32位系统的J...
阅读(20145) 评论(3)

数据结构和算法设计专题之---24点游戏(穷举法和递归法)

一个简单的24点程序        下面本文将通过两个题目实例,分别给出用递归方法和循环方法的解决方案以及解题思路,便于读者更好地掌握两种方法。首先是一个简单的计算24点的问题(为了简化问题,我们假设只使用求和计算方法): 从1-9中任选四个数字(数字可以有重复),使四个数字的和刚好是24。   题目很简单,数字都是个位数,可以重复且之用加法,循环算法的核心就是使用四重循环...
阅读(3415) 评论(0)

数据结构和算法设计专题之---单链表的逆序

下面很经典的“单链表逆序”问题。很多公司的面试题库中都有这道题,有的公司明确题目要求不能使用额外的节点存储空间,有的没有明确说明,但是如果面试者使用了额外的节点存储空间做中转,会得到一个比较低的分数。如何在不使用额外存储节点的情况下使一个单链表的所有节点逆序?我们先用迭代循环的思想来分析这个问题,链表的初始状态如图(1)所示: 图(1)初始状态  初始状态,prev是NULL,...
阅读(3119) 评论(1)

MySql中的变量定义

根据mysql手册,mysql的变量分为两种:系统变量和用户变量。但是在实际使用中,还会遇到诸如局部变量、会话变量等概念。根据个人感觉,mysql变量大体可以分为四种类型: 一、局部变量。 局部变量一般用在sql语句块中,比如存储过程的begin/end。其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。 局部变量一般用declare来声明,可以使用default来...
阅读(21002) 评论(0)

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗。现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这...
阅读(19848) 评论(1)

Java中的equals和hashCode方法详解

Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法,今天就来介绍一些这两个方法的作用。 equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。 这里我们首先要明白一个问题:           e...
阅读(34110) 评论(10)

Java中的IO流系统详解

摘要: Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStrea...
阅读(27379) 评论(5)

JavaWeb学习篇之----web应用的虚拟目录映射和主机搭建(Tomcat)

从今天开始来学习JavaWeb的相关知识,之前弄过一段时间JavaWeb的,就是在做毕业设计的时候搞过,但是那时候完全是为了任务去学习,所以效果不好,好多东西都没有深入的研究过,所以接下来的一段时间我将深入学习一下JavaWeb的相关知识。我们主要的研究对象就是tomcat服务器,那么对于tomcat服务器的了解其实他的原理很简单,就是网络之间的通信,建立Socket通信,下面我们就来开发一个我们...
阅读(7386) 评论(3)

Java中的并发库学习总结

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的...
阅读(10157) 评论(5)

Java中的线程Thread总结

前几篇都介绍了几个关于Thread的几个方法,下面就来总结一下吧,首先来看一张图,下面这张图很清晰的说明了线程的状态与Thread中的各个方法之间的关系,很经典的! 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。 要注意的是Thread类也实现了Runnable接口,因此,从Thread类继承的类的实例也可以作为target传入这...
阅读(15653) 评论(3)

Java中的线程Thread方法之---interrupt()

前几篇都介绍了Thread中的几个方法,相信大家都发现一个相似点,那就是sleep,join,wait这样的阻塞方法都必须捕获一个InterruptedException异常,顾名思义就是一个线程中断的异常,那什么是线程中断呢?线程中断会有哪些问题呢?这一篇我们就来介绍一下线程中断的概念: 在java的线程Thread类中有三个方法,比较容易混淆,在这里解释一下 (1)inte...
阅读(13193) 评论(2)
35条 共2页1 2 下一页 尾页
    技术分享公众号
    扫一扫关注

    关注公众号留言可咨询问题和技术交流,推送最新技术文章!
    微信扫一扫加入安全逆向圈

    友情链接
    四哥私人微信
    扫一扫加小编微信

    添加时请注明:编码美丽!

    天真无谐
    我的第一个App:

    天真无谐


    已经上线了,在各大市场都可以搜索到。希望大家多多支持!!


    点击查看详情
    个人资料
    • 访问:4531221次
    • 积分:29547
    • 等级:
    • 排名:第167名
    • 原创:285篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1550条
    博客专栏
    文章分类