- 博客(29)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 单例模式的用法
对于单例模式,有很多种不同的用法,每种用法也有各自的特点饿汉式单例模式该模式用static修饰了创建对象s,其优点就是保证了使用过程中线程的安全性但是缺点就是占用了资源/** * 单例实现-饿汉式 * 特点:线程安全,无法实现实例懒加载策略。 */ private static final Single s=new Single(); ...
2019-08-07 13:47:11
188
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java创建新对象的5种方式
Java种有5种创建新对象的方式调用关键字new这种也是我们一开始最常见的方式:person p1 = new person("zs", 20, "男");使用反射机制反射机制有两种方法,一种是使用Class类的newInstance方法。调用无参的构造方法。 person p2; try { ...
2019-03-09 18:39:20
5616
4
原创 灵活简易输出日期表达式
业务中需要一种获取指定规则的当前时间的方法。看到一种十分简便的方法,自己整理了一下: //把当前系统时间注入 Date date = new Date(System.currentTimeMillis()); //转换提日期输出格式 SimpleDateFormat dateFormat1 = new SimpleDateFormat("yy
2020-09-15 19:42:27
365
原创 收藏一道 多人过河求最优解问题
周末再看https://blog.csdn.net/q_everyday/article/details/102586270
2020-01-16 16:35:26
415
原创 python中print一个方法后面输出多一个none
在使用python,如果方法中有输出结果,那么直接调用方法即可输出相应结果(虽然是多此一举的输出和最简单的代码)是因为python中的方法如果没有写返回值,那么默认返回的none,感觉python真是一切方便为主...
2019-12-09 19:13:30
1460
原创 如何SQL删除有外键表的数据
当删除有外键的表的数据时,SQL会报错解决办法:先将修改主键设置,再删除数据,最后复位主键设置。修改主键命令:set foreign_key_checks=0;再修改回原来的设置。查看表主键的命令。...
2019-12-03 18:22:09
6129
原创 记Mysql的数据库连接错误:Communications link failure
该错误为数据库连接失败,通过设置连接时间解决该错误。默认为8小时,设置为7天,具体操作如下
2019-11-18 16:47:44
208
原创 类加载器
双亲委派模型的优点:1.防止一个类被重复加载。2.从安全的角度考虑,可以防止恶意代码的加载,提升安全性实际上,三层类加载器代表了JVM对于待加载类的三个信任层次,当需要加载一个全限定名为java.lang.Object的类时,JVM会首先信任顶层的引导类加载器,即优先用这个加载器尝试加载,如果不行,JVM会选择继续信任第二层的拓展类加载器,往下,如果三层都无法加载,JVM才会选...
2019-08-18 21:15:53
113
原创 埃式筛法和欧拉筛判断素数
一般要判断是是否为素数,我们通常找出了1和它本身之外是否存在可以被它整除的数。接着对判断可以进行优化,出去偶数,判断的边界设置为Math.sqrt(number)。如 以输入101-200之间的素数为例public static void fun1(){ for (int i=101;i<200;i++){ boolean flag= f...
2019-08-16 12:29:07
209
原创 打印链表倒数第K个节点
题目描述:输入一个链表,输出该链表中倒数第k个结点。注意边界:若k>链表长度,则返回null。 class FindKthToTail { public class ListNode {//链表构造 int val; ListNode next = null; ListNode(int val) { ...
2019-08-12 20:51:13
374
原创 十进制如何转换二进制
/** * 接收一个十进制正整数 返回该数的二进制字符串 * @param num * @return */ public static String fun(int num){//十进制转二进制 String a = " ";//用字符串拼接 while(num!=0) {//利用十进制转二进制除2法,直到除数为零...
2019-08-11 21:12:12
137
原创 如何使用索引
首先索引有窄索引和宽索引两个概念,窄索引是指索引的列数为1~2,宽索引就是说索引的列数大于2。因为窄索引的效率要高于宽索引,所以能用窄索引就不要使用宽索引。 那么对单字段索引和复合索引应该如何使用?目录单字段索引的情况:复合索引的优势:两者的比较:单字段索引的情况:1.表的主键,外键必须有索引2.数据量超过300的表应该有索引3.经常与其他表进...
2019-08-09 21:34:25
4134
转载 运算符(总结)
Java运算符按照其要求的操作数数目来分,可以分为单目运算符、双目运算符和三目运算符,它们分别对应1个、2个和3个操作数。运算符按其功能来分,可以分为赋值运算符、算数运算符、关系运算符、逻辑运算符、位运算符和其它运算符。1.算数运算符在Java中,使用算数运算符+、- 、* 、/ 表示加、减、乘、除运算。当参与 / 运算的两个操作数都是整数时,表示整数除法;否则,表示浮点数除法。整数...
2019-08-06 12:49:28
339
原创 小数点保留的设置
java中常见的几种实现的方式:定义好要处理的数据double f=21.213622000;1.DecimalFormatDecimalFormat();转换最简便 参数-->#.000表示保留的位数DecimalFormat dc=new DecimalFormat("#.000");2.BigDecimalBigDecimal();方法 比较适...
2019-08-05 20:31:37
505
原创 排序算法(2)
希尔排序希尔排序也被叫做增小量排序,是一种对于插入排序的优化排序。对于插入排序,越是有序的是数据就越高效,相对的数组越无序那则也低效,所以就产生了一种对于它的优化排序。特点:在排序前先获得一个增量gap(如gap=5), 第一趟对于下标为i,i+5,i+10,....以此类推的数据进行插入排序,然后gap/=2; 第二趟对于下标为i,i+2...
2019-08-05 16:46:42
115
原创 排序算法(1)
前段时间总结几种基础的排序算法1.直接插入排序原理:默认arr的前i-1个数据是有序的,找到第i个数据应该插入的位置。 将要插入的第i个数据与第i-1号下标比较, *若i>i-1 说明任然有序,继续i+1个数据 *若i&l...
2019-08-05 16:09:16
118
原创 关于数据库报错ERROR: Lost connection to MySQL server at 'reading initial communication packet'
上网查了不少博客,有以下几种方法可以尝试:1.在my.ini中添加skip-name-resolve2.在hosts文件里添加 127.0.0.1 localhosts 映射3.重启mysql服务(将其属性改为本地登录)4.进入mysql修改root权限(这是我最想吐槽的一种方法,我特么都进不去,还要你教这种方法?)5.彻底卸载mysql,重新安装(且把服务名换成mysql...
2019-07-28 17:34:32
14528
1
原创 分析集合和数组的区别及使用
两者的区别从三个方面来分析:1.长度/容量数组的一大特点就是数组长度是固定的,在建立数组时规定数组大小,要对数组扩容实际上是开辟了一个新的数组。集合在长度上的特点就是可以原有基础上扩容动态,根据元素的增长而增长。(默认长度为10,默认扩容大小为1.5倍扩容)一般集合包含有参的构造函数和无参的构造函数,2.存放的元素数组可以存放基本数据类型,也可以存放引用数据类型。(当存放基本数据...
2019-07-25 13:08:06
353
原创 部分关键字总结
在Java中,一共有51个关键字以及2个保留关键字。对transient,volatile,synchronized等关键字总结。transientJava中使用serialization对对象进行序列化操作,而transient关键字修饰的对象数据成员则不被序列化,防止序列化。volatile用于线程同步的关键字,只能修饰变量,被修饰的成员变量每次被访问时,都会从共享内存中进行...
2019-06-26 18:02:29
138
原创 生产消费者(1)
public class ConProducerAndConsumer { private int queSize= 10; private PriorityQueue<Integer> queue=new PriorityQueue<>(10);//优先级队列 private Lock lock=new ReentrantLock();//全局锁...
2019-03-24 22:02:52
119
原创 关于使用RandomAccessFile逆置文档内容的方法
如果一个文档中既有英文和符号,又有中文内容,可以调用RandomAccessFile中的seek();方法来逆置文档内容。把握好文档中每个英文or符号占一个字节,中文会占两个字节的特点,利用它们在ASNI码中位置的不同来区分,具体实现如下:RandomAccessFile rf=new RandomAccessFile(new File("D:/java2/ioText/text2.txt")...
2019-03-15 21:45:39
115
原创 进程和线程的区别与联系
进程和线程的定义进程也就是可以理解成:一个运行起来的程序。而线程:一个进程执行中每个任务就是一个线程。进程 ----> 资源分配的最小单位。线程 ----> 进程调度的最小单位。两者之间的联系/区别一个线程只能属于一个进程,而一个进程下可以有多个线程。多线程处理的定义就是允许一个进程中在同一时刻执行多个任务。线程是一种轻量级的进程,线程拥有独立的堆栈空间,但是共享数据段...
2019-03-14 19:25:32
86
原创 约瑟夫环报数游戏
报数游戏十个人围成一圈,从1到3开始报数,依次循环,报到3的人被淘汰,一直淘汰到剩余一个人结束游戏。public class Circle { public static int circle(int []arr) { int count=0; int count1=0; int index=0; while (true)...
2018-12-20 14:36:30
667
原创 JAVA一维数组
Java 一维数组的定义方法(三种)int[] arr={1,2,3,4};int[] arr=new int[4];int[] arr=new int[]{1,2,3,4};三种定义方式,如果是有new关键字,那么下堆上开辟空间。例:打印数组三种打印方式:用for循环。例:for (int i=0;i<arr.length;i++){ arr[i] =i ;...
2018-11-23 19:13:47
213
原创 单链表
单链表单链表的结构是前一级的NEXT域指向下一级的头节点,连接成为一个单链表,如图所示。第一个节点 头节点不储存信息。最后一个节点没有NEXT域。每个节点的NEXT只是用来指向下一个节点,一级一级往下传递。上部分用来存储信息。比如 b=a.next; c=b.next.单链表结构的插入(头插,尾插,指定位置插入);查找;删除;package com.tulun.src1;cl...
2018-10-09 17:25:35
174
原创 学习总结
生成随机数的两种方法public class Java0811{ public static void main(String[] args){ Random scan=new Random(); int a=scan.nextInt(10); System.out.println(“随机生成数字”+a);}}pub...
2018-09-13 15:55:24
127
1
原创 定义一个银行卡。
对银行卡定义,包括功能有:存款,取款,查询余额,转账功能学习了extend``implementspublic interface IBankAccount { void payIn(long money);//存款方法 void withdraw(long money);//取款方法 void getBalance();//查询余额方法 }public...
2018-09-13 15:48:45
592
原创 什么都没有
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...
2018-09-03 15:44:42
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人