- 博客(58)
- 收藏
- 关注
原创 取消与关闭任务----示例:日志服务
package canceltask;import java.io.PrintWriter;import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;/** * 服务发挥是实际作用,需要终止日志线程,防止JVM无法正常关闭 * 3种方式终止运行中的线程 * 1.使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 * 2.使用stop方法强行终止,但是不.
2020-12-24 00:28:35
391
1
原创 采用newTaskFor来封装非标准的取消
package canceltask;import java.util.concurrent.Callable;import java.util.concurrent.RunnableFuture;/** * 接口:封装一个取消任务 * */public interface CancellableTask<T> extends Callable { // 取消 void cancel(); // 新任务,返回RunnableFuture Runn.
2020-12-21 23:38:34
418
原创 java8--lambda表达式
1.目的:简化代码2.总结:注意lamdba的规范,常量参数,实现接口package lamdmademo;import java.time.LocalDate;import java.util.*;public class Demo { public static void main(String[] args) { Demo demo=new Dem...
2019-01-08 18:13:21
507
原创 时间复杂度为log(n)的桶排序
int[] a={32,42,54,12,56}; @Test public void contextLoads() { //取出要排序的数组中最大的数 int maxa=a[0]; for(int i=0;i<a.length;i++){ maxa=Math.max(maxa,a[i]); } System.out.println("maxa:...
2018-11-05 10:42:35
1151
原创 序列化和反序列化
序列化1.将对象转化为字节码文件存入硬盘,方便永久保存2.降低占用内存(对象存在于内存中)空间,当访问量过大时,提高效率。反序列化1.将字节码转化为对象2.硬盘中的数据还原到内存中序列化ID类似于一个类的唯一标识,不指定时,java编译器自动为每个类指定一个值,当这个类改变,哪怕多一个空格,自动生成的serialVersionUID就会改变。例如序列化后添加一个属性...
2018-10-24 00:03:25
302
原创 eclipse打war包并部署到tomcat中
--->1.pom.xml->debug->maven install--->2.在console中寻找war包地址或在target中寻找--->3.将war包粘贴进tomcat的webapps目录下--->4.tomcat的bin目录下双击start.bat,启动tomcat,出现"Server startup in 56461 ms"便部署成功...
2018-10-23 10:23:20
1248
原创 映射关系
1.一对一@OneToOnePerson表,School表class Person{ @OneToOne(cascade=CascadeType.ALL,optional=true) //级联 @JoinColumn(name="schoolId") //@JoinColumn写在主控方,由person主导两者关系, private Schoo...
2018-10-15 18:15:09
492
原创 观察者模式
package observer;import java.util.Observable;import java.util.concurrent.ScheduledExecutorService;/** * 观察者模式 * */public class WeatherDate extends Observable { private String tempature; ...
2018-08-30 00:01:44
222
原创 单例模式在多线程下的线程安全问题
方法一/** * 性能差---原因:每次调用方法之前先加锁 **/public class GetInstanceSingleton { private GetInstanceSingleton(){} private static GetInstanceSingleton getInstanceSingleton; public static synchroniz...
2018-07-12 23:59:12
612
原创 线程池.........池池池..........
import java.util.concurrent.*;public class Test { public static void main(String[] args) { //创建可缓存线程池,如果不够的话,灵活回收空闲线程,若无可回收,新建线程 //线程池无限大,如果执行第二个任务时第一个任务已经完成,则复用执行第一个任务的线程 ...
2018-06-26 23:23:37
278
原创 多线程---------------CountDownLatchl
CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。构造器中的计数值(count)实际上就是闭锁需要等待的线程数量。这个值只能被设置一次,而且CountDownLatch没有提供任何机制去重新设置这个计数值。与CountDo...
2018-05-14 18:01:16
205
原创 抽象类
看了一篇博客,总结一下抽象类1.有属性,因为需要初始化属性,所以有构造方法。2.子类单继承,必须实现抽象方法。否则,继续为抽象类。3.不可以用final修饰,因为,final修饰的类不能被继承。4.能用static修饰抽象类?答:内部类可以,外部类拒绝。还有等等.............
2018-05-14 17:08:27
167
原创 取第五条到第十条的数据~~
好久好久好久没有写博客了呀~~~哈哈哈~~~Mysql查询:use test;//使用数据库select id from log_info limit 5,10//limit关键字Oracle查询:select top 10 id from log_info where id not in ( select top 5 id from log_info order by id)order b...
2018-04-25 21:58:04
1212
原创 保留两位小数
今天被zz问到怎么去保留两位小数,心里默默吐槽下,搞什么,自己去查Math的API好吗…哼…. 为了进一步证明他的zz,我就去查API,发现……额……,Math这个类真的没有保留两位小数的方法!!! 唔,看来比较zz的是我和API…… 来吧,又要站在巨人的肩膀上来写一篇关于保留两位小数的博客啦。 上代码!//double类型参数 //这个格式化纯粹闲的没事干,多此一举...
2017-09-29 16:48:56
840
原创 oracle的主键与mybatis插入操作的矛盾
今天写一个简单的提交操作时,一直一直一直通过不了,首先是蠢蠢的把url搞错了,后来就是遇到了经常遇到的数据库字段不匹配的问题。 仔细检查了数据库的表字段,把不能为空的相应字段加上allowBlank=”false”属性(公司封装框架)。 再后来,就遇到了mybatis的插入操作,主键要自动生成,而不是自己填写。 哒哒哒~~敲重点。 情况一:oracle数据库,主键是序列的情况下 在myba
2017-09-27 20:34:25
757
原创 后缀子串排序
package sjjs;import java.util.PriorityQueue;import java.util.Scanner;public class TestHZZC { public static void main(String[] args) { System.out.println("请输入字符串"); Scanner scan=new
2017-09-26 11:01:30
418
原创 浅拷贝-Cloneable接口
搞什么啊,前几篇去哪里啦。我的虚拟机呢。 Fuck…package testEpcc;import org.junit.experimental.theories.internal.Assignments;import junit.framework.Assert;/** * 以下为浅拷贝,改变copy的值会改变原型的值(引用类型) * 在考虑clone时,基本数据类型和不可变类可放在一起
2017-09-25 14:56:11
360
原创 垃圾回收机制
/*************/ 可耻的看了别人的博文~~~ /************/垃圾回收算法主要有两种方式: 引用计数和可达性分析引用计数原理 每次创建创建一个对象,就设置一个引用计数,每当这个对象被引用一次后,引用计数就加一。当一个引用失效时,引用计数就减一,当引用计数等于零时,就回收这个对象。 不过这个方法有个bug,当对象之间互相引用时,这个方法就gg了。 就像这个,无奈脸
2017-09-21 18:07:56
284
原创 ThreadLocal线程安全
一直无知的以为线程安全只有用上锁,wait(),sleep(),notify(),notifyAll()来解决,现在才知道还有个ThreadLocal这个东西~~~我以前以为线程安全都是在线程上做文章,一个线程访问一个资源,只有等这个线程执行完毕下一个线程才能去访问。 而ThreadLocal这个变量是为每个线程提供独立的变量副本,多个线程同时访问一个变量,is ok的,因为每个线程都可以独立的改
2017-09-21 10:56:55
1492
原创 BeanUtils和Junit的用法
在此项目中看到了BeanUtils这个神奇的类,看了半天知道它是复制对象的,其实真正的好处现在还不知道。上网百度,做了一下练习。 BeanUtils需要导入的jar包: (1)common-logging-1.1.1.jar (2)common-beanutils.jarpackage testEpcc;import java.text.DateFormat;import java.text
2017-09-19 16:36:41
586
原创 Map.Entry
见过几百次,就是懒得查,今天终于把它搞定Map.Entry是Map的一个内部接口,此接口为泛型,定义为Entry<K,V>,表示map中的一个实体(一个key-value对),有键有值,接口中有getKey(),getValue()方法 Map map = new HashMap(); Irerator iterator = map.entrySet().iterator(
2017-09-15 12:03:58
286
转载 hash表(转侵删)
Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性,它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来,从而能够很快速地进行查找。1.Hash表的设计思想 对于一般的线性表,比如链表,如果要存储联系人信
2017-09-09 16:30:06
329
原创 redis数据结构之二-双端链表
双端链表是redis列表类型的底层实现之一,当对列表类型的键进行操作时,例如RPUSH,LPOP,LLEN,等命令时,程序在底层操作的可能就是双端链表。//eg:RPUSH brands Apple Microsoft Google(integer)3LPOP brands "Apple"LLEN brands(integer)2LRANGE 0 -1"Microsoft""Goo
2017-09-09 13:40:44
344
原创 redis数据结构之一-简单动态字符串SDS
在redis中,客户端传入服务器的协议内容,AOF缓存,返回给客户端的响应,都用SDS类型。sds主要作用: 1.实现字符串对象; 2.在java程序内部用作char*类型的替代品。这里主要说一下为什么用作char*类型的替代品。 答:char类型不能高效的支持长度计算和追加两种操作。 计算字符串长度的复杂度(n); 对字符串进行N次追加,必定需要对字符串进行N次内存重分配。sds实现
2017-09-09 10:23:20
481
原创 cache-缓存和memory-内存
cache,哈哈。 面试实习生时,老大靠这个问题刷了不少人。 缓存是在CPU与内存之间,是一个读写速度比内存更快的存储器。 当CPU向内存读取或写入数据时,这个数据也被存储进高速缓冲存储器(缓存)。 当CPU再次需要这些数据时,就从高速缓冲存储器(缓存)读取数据,而不是访问较慢的内存。 如果需要的数据在cache(缓存)中没有,再去内存中查找。 内存~~ 计算机中所有程序的运行都是在内
2017-09-08 21:08:25
4489
1
原创 排序算法的复杂度
![网上下载,侵权删]~~~(http://img.blog.youkuaiyun.com/20170903145222368?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hlcmlZdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2017-09-03 14:53:18
321
原创 直接插入排序
//时间复杂度:n^2,稳定package shujujiegou;public class InsertSort { static final int SIZE=10; static void insertsort(int a[]){ int i,j,t,h; for(i=1;i<a.length;i++){ t=a[i];
2017-09-03 14:50:57
225
原创 jQuery--过滤选择器实现隔行变色-表单选择器实现全选或全不选
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
2017-08-21 22:53:02
1264
原创 javascript初级
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
2017-08-11 16:20:43
327
原创 打开新窗口和关闭新窗口
<!--<script>中--'_self','_blank'等>function Wopen(){window.open('http://www.imooc.com','_self','width=300,height=200,menubar=no,toolbar=no,status=no,scollbars=yes'); } <!--body中--> <input type
2017-08-11 15:02:41
759
原创 prompt用法
function promptDemo(){ var score=prompt("请输入分数"); if(score>90){ document.write("哇塞。学霸"); } else if(80<score){ document.write("80---90"); }
2017-08-11 14:43:25
20017
原创 confirm的使用
<!--纯手打,不保证质量--><script type="text/javascript"> function rec(){ var message="你喜欢我吗?"; if(message==true){ document.write("嗯,有眼光"); }else{ document.wr
2017-08-11 14:28:54
692
原创 SSH框架整合
/记事本手打代码,正确率略低/1.导入jar包2.添加配置文件 (1)web.xml中配置struts2的拦截器,spring的监听器 (2)spring整合struts2 方法一: applicationContext.xml中配置dao和service层的bean struts2中配置action 方法二: applicationContext.xml中配置dao,service,
2017-08-11 00:46:43
324
原创 二叉树
package shujujiegou;public class BinaryTree { private Node root=null; public BinaryTree(){ root=new Node(1,"A"); } //创建一个二叉树 public void createTree(Node root){ Node n
2017-08-10 16:34:15
340
原创 Cookie保存中文
<%@page import="java.net.URLDecoder"%><%@page import="java.net.URLEncoder"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//D
2017-08-08 18:07:40
398
原创 会话跟踪-Cookie机制-记录用户访问次数
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="login.jsp"%> <!--1.注意errorPage--><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2017-08-08 16:41:27
1895
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人