- 博客(14)
- 收藏
- 关注
原创 git 常用命令
初始仓库 git init 查看远程仓库地址 git remote -v 添加远程仓库地址 git remote add origin <仓库地址> 创建分支 git branch <分支名字> 创建并切换分支 git checkout -b <分支名字> 切换分支 git checkout <分支名字> 查看分支 git ...
2018-08-16 16:01:30 177
原创 理解线程池
为什么要使用线程池?我们使用一个线程的步骤 1.创建线程 2.使用线程 3.销毁线程 每使用一个线程必须经过这三个步骤,如果步骤1,和步骤3所需要的时间和大于步骤2,我们就得思考,会不会本末倒置,怎么样提高性能? 缩短创建和销毁线程的时间! 当一个线程完成自己的工作后,不去销毁它,让它继续执行别的工作,这样省去了不必要的创建和销毁线程的时间。线程池的主要目的就是方便管理线程,并实现线程的
2017-08-01 19:51:08 403
原创 关于GC
《深入理解Java虚拟机》真的是看多少遍都不多,每次都有新体会 堆中存放着许多对象实例,许多是已经不用的(或者称死亡的),不清理它太占内存,垃圾回收器就是回收这些对象,释放对象所占的内存。怎么判断对象已死呢? 2种方法: 1,引用计数法:(解决不了相互引用的问题,已经咋不用了) 2,根搜索算法 堆内存就像一颗大树,树根叫GC root,根搜索算法就是,以树根为起点开始搜索,搜索走过的路径叫
2017-07-06 18:48:13 409
原创 选择排序—堆排序
堆排序: 如果把待排序的数据元素集合构成一个完全二叉树的结构,则每次选出一个最大(最小)的数据元素,只需比较完全二叉树的数值为高度的次数,即log2n次,所以算法的复杂度就为O(log2n)。 堆的定义: 最小堆: 保持每个节点比它的左右孩子都小; 根节点是堆中值最小的数据元素; 根节点到每个叶子节点的路径上都是递增有序的最大堆: 保持每个节点比它的左右孩子都大; 根节点是堆中值最大
2017-03-25 13:54:33 382
原创 选择排序-直接选择
选择排序的基本思想是: 每次从待排序的数据元素集合中选取关键字最小(或最大)的数据元素放到数据元素集合的最前(或最后),数据元素集合不断缩小,当数据元素结合为空时排序结束。直接选择排序: 1,从待排序的数据元素集合中选取关键字最小的数据元素并将它与原始数据元素的第一个数据元素交换位置 2,然后从不包括第一个位置的数据元素集合中选取关键字最小的数据元素并将它与原始数据集合中的第二个数据元素
2017-03-24 11:21:56 483
原创 插入排序算法
直接插入排序: 指每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 1.首先在当前有序区array[1..i-1]中查找array[i]的正确插入位置j(1≤j≤i-1); for(j = i-1; j >= 0 && array[j] > temp; j --) { arr[j+1] = arr[j];
2017-03-08 11:29:44 421
原创 交换排序算法
快速排序: 为啥叫快速排序,因为速度快,效率高 1.先找一个数作为基准。 作为基准的这个数,一趟排下来,左边的数必小于它,右边的数必大于它,也就是说,它找到了自己的位置。 2.将两个指针i,j分别指向表的起始(基准)和最后的位置。 3.比较j指针的数字是否小于基准,j–,直到j小于基准,交换位置 4.比较i指针的数字是否大于基准,i++,直到i大于基准,交换位置 5.若i==j
2017-03-06 21:55:59 537
原创 SSM框架下的Maven Web项目——购物车
看JSP应用开发详解这本书的时候,27章有个购物车的实例,感觉书上写的有些繁琐,就自己实现了一个,功能可能没有书上的全面,但是自己成就感还是蛮高的 实现了:用户登录,查看购物车,添加商品到购物车,清空购物车,增加或减少购物车商品数量 工程目录: jdbc.properties是为多种关系数据库提供统一访问jdbc.driver=com.mysql.jdbc.Driverjdbc.url=
2017-02-22 20:59:40 10265 28
原创 Java中的内存回收机制
垃圾回收机制是Java相对与C++的一种进步,它避免了因为程序员忘记释放内存而造成内存溢出的错误,所以,在Java程序中,根本不需要delete语句,JVM会自动的去检查哪些内存应该回收了,在后台就自动回收了,为程序员省了不少的事情 (来源:Java程序员面试宝典)垃圾回收机制是JAM自动执行的,由JVM决定何时执行,程序员只能决定一个类在回收时所要做的动作(通过重载Object类的finaliz
2017-02-17 18:55:27 535
原创 多线程基于Mybatis框架下的聊天对话程序
前一阵子在网上看了很多文章,学习了Mybatis框架,自己写了个含有5个功能的聊天程序 (1)登录,注册 (2)上下线通知(数据库中包含的用户上线后,广播通知给已经在线的用户) (3)消息转发,实现用户之间的聊天 (4)留言 (5)用户自己退出,或异常退出,服务端不报异常我的实现 1.登录注册 (1)登录需要检索数据库中的用户,密码成功则登陆成功,密码错误则重新登录 (2)注册需检索
2017-02-16 22:59:08 1182
原创 java 中的异常处理机制
平时敲代码的时候,编辑器有异常会有提示,显示什么就点什么了,却没有深入了解这些为什么会有这些异常。5个关键字: try,catch,throw,throws,finally
2017-02-13 22:35:14 801
原创 java 流中的各种read
二进制文件读写: FileOutputStream FileInputStream DataOutputStream DataInputStream BufferedOutputStream BufferedInputStream 字符流的读写 Reader Writer FileReader Fi
2017-02-12 23:25:45 679
原创 java数据类型
今天开始复习! 刷面试题,发现自己好菜哦,好多漏洞long a=123456789;不报错 long e=12345678911;报错:The literal 12345678911 of type int is out of range 这个定义并不是long 型,默认为int; long e=12345678911L;不报错; 尽量末尾加大写‘L’而不是小写‘l’,避免和数字1混淆,提
2017-02-12 21:34:45 564 1
原创 socket通信
(1)ServerSocket 生成一个肯德基店,名为server,ServerSocket server=new ServerSocket(8000),8000为店铺的门排号;(2)Socket 生成一个窗口,名为client;这个名为client的窗
2016-12-26 17:32:20 402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人