Java基础知识
Elementer
潜力股一枚
展开
-
读写锁代码示例
/** * @author yuanjin.ye * @version 创建时间:2019/11/19 * @description: */public class RedisDesign { private volatile Map<String,Object> map = new HashMap<>(); private Reentra...原创 2019-11-19 11:31:51 · 254 阅读 · 0 评论 -
稀疏算法代码示例
/** * @author yuanjin.ye * @version 创建时间:2019/11/19 * @description: */public class XSArrayDemo { public static void main(String[] args) { //1、定义写一个棋盘,11*11的棋盘 int[][] ches...原创 2019-11-19 11:28:18 · 416 阅读 · 0 评论 -
double类型数据保留2位小数点
/** * 小数点保留两位 * @param d * @return * @Author: yeyuanjin */ public static double keep2decimal(double d){ if(d>0){ d = new BigDecimal(d).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(原创 2017-01-19 10:33:16 · 4908 阅读 · 1 评论 -
Java快速排序算法
基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。原创 2017-04-19 16:33:31 · 428 阅读 · 0 评论 -
HashMap 和HashTable的区别
HashMap HashTable是否线程安全 否 是同步异步 不同步原创 2017-04-20 11:19:57 · 372 阅读 · 0 评论 -
NIO系列教程--NIO概述
什么是NIOJava NIO(new IO)是一个可替代的标准的Java IO api的IO, Java NIO 提供了标准IO不同的IO工作方式;标准的IO是基于字节流和字符流的进行操作的;Channels and BuffersNIO是基于 通道 和 缓冲区的进行操作读取的,数据是从通道中读取到缓冲区中,或者重缓冲区读如到通道中;Non-bl原创 2017-04-20 13:31:30 · 452 阅读 · 0 评论 -
IO操作文件内容打印到控制台,将文件内容复制到另外一个文件
package com.yyj.jan.io;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;原创 2017-07-27 13:57:41 · 533 阅读 · 0 评论 -
mysql千万数数据查询优化思路
例如:student这张表数据量有1000万条,字段: Id,name,grade,stuNo...查询需求:查询出叫“王强”的人查询语句:select id,name from student (试了就知道千万级别的数据用这条语句查询显然是非常慢的)如何优化: 1、基于(id,name)建立索引;alter student privilege add index id_nam...原创 2018-03-05 09:48:53 · 387 阅读 · 0 评论 -
Java的一些名词解释
1、抽象的定义?抽象和封装的不同点? 抽象的定义: 抽象:抽象就是从具体实例中分离出来的行为步骤;用Java来实现就是根据事物所具有的功能 来创建类;其目的就是把类的行为和实现细节分离开来; 封装:封装关注的实现细节;通过隐藏对象内部细节做到封装;2、继承的定义: 一个类具有从基类获取方法和属性的能力; 意义:代...原创 2018-04-09 14:14:37 · 530 阅读 · 0 评论 -
建造者模式
建造者模式: 将一个复杂的对象的创建过程和显示分离出来,使得同样的创建过程可以有不同的表示;组成: 一个复杂基类; 一个抽象类(抽象出设置复杂类的属性和获得对象) 一个实现细节类,需要继承上面的抽象类; 建造者类,通过实现细节类,获取所需个个性复杂类;代码如下:public class Student { /...原创 2018-04-08 11:13:55 · 192 阅读 · 0 评论 -
Thread中start()和run()的区别
start():用来启动一个新线程;新线程会执行run方法,start()不能被重复调用,它是并发执行的;run():只是一个普通方法而已,在调用的线程中按顺序执行而已;...原创 2018-04-09 14:13:12 · 232 阅读 · 0 评论 -
经典问题--String、StringBuffer和StringBuilder的区别
String、StringBuffer和StringBuilder的区别这个问题主要主要从两个方面去回答 - **速度 - **线程安全StringString字符串不断赋值的过程,JVM处理的处理是:不断的创建对象和回收对象,所以速度是最慢的;StringBuffer和StringBuilder则不是; 线程安全问题: 首先我们要明白什么是线程安全问题,所谓的线程安全是...原创 2018-04-25 14:36:40 · 244 阅读 · 0 评论 -
批量重命名一个文件夹的文件,例如:img下有600张图片,对其重名
import java.io.File;import java.util.ArrayList;import java.util.Arrays;public class FileUtilDeal { public static void main(String[] args) { //File file = new File("E:\\极草\\img\\F20150603-1638原创 2016-12-19 11:22:18 · 3020 阅读 · 0 评论 -
使用NIO读取文件 Java实现案例
package com.nio;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;public class NioDemo { public static void main(String原创 2016-11-07 11:11:55 · 1856 阅读 · 0 评论 -
采用JDK并发包提供的Lock, Condition等类的相关方法控制多线程.
和饮用的文章相比,发现使用并发包后,攻击次数只有280下,而引用代码是300次,可以看出JDK并发包效率更高原创 2016-09-30 16:03:41 · 436 阅读 · 0 评论 -
Java基础个人札记(1)
1、在java中如果声明一个final,表示什么意思:答: final表示最终的意思,final可用于定义变量、方法和类,声明为final的类不能被继承。2、请说说final,finally,finalize的区别:答: final 用于声明属性、方法、和类,声明的属性不能被更改,声明的方法不可 以 被覆盖,声明的类不能被集成;原创 2014-11-11 22:20:59 · 429 阅读 · 0 评论 -
如何获取10000之内的回文?(回文:正反读起来都是一样的!)
public class backword { public static void main(String[] args){ for(int i=10;i<100000;i++){ if(isBackWord(i)){ System.out.println(i); } } } //判断回文方法; private static boolean isBackW原创 2014-11-19 16:33:53 · 685 阅读 · 0 评论 -
求出100之类的素数;
public class suNum100{ public static void main(string[] ar)}原创 2014-11-18 21:07:12 · 487 阅读 · 0 评论 -
如何获取下一天的的时间!
原理:调用类库中的Date类,shi原创 2014-11-19 16:51:02 · 854 阅读 · 0 评论 -
xml 的基本格式 及 注意事项
语法声明XML声明可有可无,推荐加上 "?xml" 不能有空格XML声明作为XML文件的第一行(一定要在第一行)version version="1.0" 必须是1.0如果有声明,必须有version属性而且必须在属性列表的第一位encoding必须和实际的编码格式一致元素标记XML 文档必须有一个顶层元素XML 文档只能有一个顶层元素有且原创 2015-01-15 12:53:38 · 949 阅读 · 0 评论 -
搞了一上午的websocket,最后启动的时候发现websocket无法连接到服务器
这个问题相信不上的网友遇到过,网上给出的解决办法也很多。但还是没能解决。最后我发现原来根本问题是JDK版本和tomcat版本问题;前提保证代码没问题1、最低版本要jdk1.7以上;2、tomcat要tomca7.0以上,别忘了配置tomcat7.x JDK name 。原创 2016-03-25 14:08:01 · 20190 阅读 · 3 评论 -
Http get/post 练习实例
package com.http.test;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net原创 2016-04-25 16:45:42 · 1059 阅读 · 0 评论 -
使用Map集合求出一个字符窜中各个字符的个数
使用Map利用key值的唯一性可以很好的计算出每个key的个数,只要在put之前判断key是否存在,存在则value+1,否则put(key,1);注意++value,value++的区别,这是个坑原创 2016-06-18 21:58:52 · 2563 阅读 · 0 评论 -
Socket网络编程:基于TCP多线程通信
第一步:编写启动服务端的线程类package socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.P原创 2016-10-25 15:43:48 · 2050 阅读 · 0 评论 -
一个经典的Map+正则表达式练习题:给定一个带其他文字的字母字符串,求出各个字符有多少个?
package com.test;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) { Stri原创 2016-09-29 10:35:22 · 1819 阅读 · 0 评论 -
多线程问题,三个线程轮流进行,每个线程进行n次操作,共执行n*n*3次操作。本代码用三军攻击做演示,通俗易懂。
package com.yyj.zxy;public class SanJunFight { /** * 三只部队轮流上战场,每只部队在战场上每一轮只能进行10次攻击; * 合计攻击300次则停止攻击; */ private static int count = 1; //攻击计数器 private static int part = 1; //默认第一支部队先进行第一原创 2016-09-30 15:24:53 · 2068 阅读 · 0 评论 -
给定字符串String str=“aaaaabbbbbccccddddaa”,输出 a7b5c4d4;
public class StringDemo {public static void main(String[] args){String str = "aaaabbbbccccdddda";int count1 = 0;int count2 = 0;int count3 = 0;int count4 = 0;char[] c = str.toCharArray(原创 2014-11-18 20:04:50 · 1724 阅读 · 0 评论