![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java相关
文章平均质量分 59
圆圆的汤汤圆圆
无
展开
-
java回收机制详解
gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。转载 2015-07-09 22:17:12 · 353 阅读 · 0 评论 -
图解循环实现二叉树的前序遍历
01 二叉树的前序遍历回顾我们知道,二叉树有三类节点,父节点,左孩子节点,右孩子节点。前序遍历的意思就是先遍历父节点,之后左孩子节点,右孩子节点。补充:中序和后序遍历都是针对父节点的说法,父节点中间遍历,父节点最后遍历。左右孩子节点的便利顺序大体上不变。02 图解遍历过程如果已经了解前序遍历的过程,可以跳过这个部分。(1)如下图,遍历节点0(2)如下图,...原创 2019-05-30 22:12:30 · 3146 阅读 · 0 评论 -
Java内存模型与线程
1.计算机硬件的效率与一致性1.1多任务处理的原因 在我们开发的过程中,经常听到多cpu,多线程处理任务。这么做的目的1.为了充分利用cpu的计算能力,2.计算机的运算速度与它的存储系统和通信子系统速度的差距太大,磁盘I/O,网络通信或者数据库访问要花费很长时间(相比cpu运算),为了不让cpu资源浪费,我们使用多线程操作,在某个线程与存储系统或者通信系统交互的时候,让出cpu资源...原创 2019-04-21 12:02:33 · 128 阅读 · 0 评论 -
java实现组合-n个数取其中k个数的所有组合
n个数取其中k个数的所有组合java实现组合,假设一组数{1,2,3,4,5,6,7,8} ,n = 8 k = 4;那么首先取第一个1,然后在剩下7个里面去第二个数,比如2,然后第三个在剩下的六个数中选择一个数。依次类推原创 2017-03-16 14:48:42 · 16551 阅读 · 0 评论 -
防止SQL注入
摘要: 防止SQL注入一、SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置2.判断服务器类型和后台数据库类型3.针对不通的服务器和数据库特点进行SQL注入攻击 三、SQL注入转载 2017-02-09 10:11:00 · 208 阅读 · 0 评论 -
UUID的解释
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字UUID由以下几部分的组合:(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。(2)时钟序列原创 2016-10-20 09:06:43 · 4869 阅读 · 1 评论 -
java中几个时间的区别(java.sql.date,java.sql.time,java.sql.Timestamp)
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp、以及与MySQL日期类型的对应一、java.util.Date表示某一特定时刻,精确到毫秒。java.util.Date日期格式为:年月日时分秒 类声明如下:public class Date implements java.io.Seriali原创 2016-01-20 11:50:38 · 9764 阅读 · 0 评论 -
Java 组合的实现- 输入一个字符,输出字符中字母组成的所有组合
今天遇到的笔试题,时间紧张没有想出来。笔试完后总结一下解决方法。题目如下:给出一个字符串例如:”abc“,输出组成该字符的字母组成的所有组合。上例:a,b,c,ab,ac,bc,abc;以abcde为例来解释,abc的组合的元素个数从1-5个;分别为a b c d e ab ac ad ae bc bd be cd ce abc abd abe acd ace ade bcd bc原创 2015-10-11 23:29:05 · 5248 阅读 · 0 评论 -
java实现排序算法之堆排序
首先说一下堆的概念,堆分小顶堆和大顶堆。小顶堆,堆顶元素小于左子树及右子树上边的值,同时左右子树也是小顶堆,这样类推下去。同理大顶堆,就是堆顶元素大于左右子树所有元素,左右子树也分别是大顶堆。下边开始算法解释排序时每次将堆顶元素取走,将最后一个元素放在第一个元素的位置上,然后将剩下的i-1个元素重新调整为堆,依次类推。及排序过程就是不断的调整堆的过程。我们讨论顺序排序,数组原创 2015-08-19 17:35:32 · 405 阅读 · 0 评论 -
排序算法之2路归并排序(递归和非递归)
归并排序,从字面意思上理解,即合并的时候排序。归并排序是分治法的一种,首先将待排数列分成1个一个元素,然后依次按大小合并。排序过程分初始关键值 [49] [38] [65] [97] [76] [13] [27] 合 第一趟归并:(38,49) (65,97) (13,76) 27第三趟原创 2015-08-19 17:56:13 · 859 阅读 · 0 评论 -
WindowBuilder离线安装
准备:1. 下载离线安装WindowBuilder插件,url地址:http://www.eclipse.org/windowbuilder/download.php(在eclipse的安装目录中的.eclipseproduct文件中可以查看,eclipse的版本,下载对应的WindowBuilder版本) 2. 打开Eclipse:Help-- Install New Sof原创 2015-06-20 09:35:39 · 7325 阅读 · 0 评论 -
jvm原理机制
java虚拟机一、什么是Java虚拟机Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。1.为什么要使用Java虚拟机Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行转载 2015-07-09 22:58:22 · 270 阅读 · 0 评论 -
java的引用和C++的指针有什么区别
大多数的C++程序员转学java的时候,都有这样一个疑问,java的引用就是C++的指针吗。其实不完全对,他们之间既有前四外绿的联系, 也有很大的区别。java的引用和C++的指针都是指向一块内存址的,通过引用或者指针完成对 内存数据的操作。就好像风筝的线轴一样,通过线轴总能够找到风筝。但是他们在实现、原理、作用等方面去有区别。(1)类型:引用其值为地址的数据元素,java封装了地址,可以原创 2015-07-10 22:04:21 · 2753 阅读 · 4 评论 -
JAVA_HOME path classpath
学习java是一直对JAVA_HOME path classpath三个变量的概念模棱两可,今天通过搜索学习,弄清楚了之间的关系,以及作用,记录一下1. JAVA_HOME配置java的jdk的安装目录,相当于将java的jdk安装目录存放在一个变量当中,在后边配置其它环境变量时,可以方便的引用JAVA_HOME。而当java的jdk路径发生改变时,只需要更改,JAVA_HOME相应的路径原创 2015-07-09 21:18:39 · 474 阅读 · 0 评论 -
深入理解Java Proxy机制
动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组);然后再利用您指定的classloader将 class byte加载进系统,最后生成这样一个类的对象,并初始化该对象的一些值,如invocationHandler,以即所有的接口对应的Method转载 2015-06-22 11:05:22 · 382 阅读 · 0 评论 -
算法面试题之二叉树的子结构
最近在刷剑指offer,把自己的理解写下来01 题目输入两颗二叉树 A和B,判断B是不是A的子结构如:ABB是A的子结构,B中的节点与A的孩子结构 2,5,6 完全对应。02 解题二叉树的每个结点最多有两个子树的树结构。通常左孩子节点,被称为左子树,右孩子节点也可以称为右子树。判断B是否为A的子树,即要对比B的树结构在A中是否存在,所以我们需要一个对比函...原创 2019-05-29 09:58:39 · 168 阅读 · 0 评论