
Java
文章平均质量分 52
BenjaminYoung29
这个作者很懒,什么都没留下…
展开
-
Java虚拟机
1.什么是JVMJVM是Java 虚拟 机。它是一种基于计算设备的规范, 是一台虚拟机。JVM屏蔽了具体操作系统平台的信息,也就是与平台无关,在不同平台运行时不需要重新编译,只要安装部署了JVM即可运行Java程序。JVM执行字节码时还是要解释称具体操作平台的机器指令。2....原创 2020-01-16 09:42:06 · 296 阅读 · 0 评论 -
Unchecked or unsafe operations
在写泛型的BST时,javac -xlint test.java,出现Warning: Unchecked or unsafe operations。 public E next() { Node nextNode=null; boolean flag=true; while(flag) { if (current != null) { ...原创 2019-12-09 19:40:38 · 776 阅读 · 0 评论 -
JavaSwingMVC编程
Swing的MVC编程设计该怎么设计呢?特别是View层是一个表格之类的,然后对表格数据进行操作。因为每一个Grid都是一个Text.很容易直接在View层进行操作。所以要做到MVC需要进行分离。MVC结构如上图。可见我们要将Model层与View层分离。并且Controller层做两层的中间层。Model层可以理解成是数据存放的地方。比如上面说到表格,那这里可能存放着一个数组。另外一些对...原创 2019-12-03 15:26:19 · 602 阅读 · 0 评论 -
简单编译java
javac -cp *.javajava XX args(XX表示主类的类名)原创 2019-11-23 16:07:47 · 255 阅读 · 0 评论 -
Java 三子棋
三子棋主要是递归生成决策树的过程以及决定走哪一步最好的方法。将每一个棋盘存在hashmap中。有两种方法,一种是生成决策树到底(也就是把9格填满),然后给分数,比如0表示人赢,3表示机器人赢,2表示平手,1表示还不知道谁赢。然后每一层选最后会产生对自己有利的分数的那一路。比如当前层为人走,则选能到达0分的,不行就选到2的(9格填满不会出现1分)。当前层为机器人走,则选能到达3分的。将棋盘存在h...原创 2019-11-18 09:46:06 · 552 阅读 · 0 评论 -
java cannot find or load class.....
命令行编译当有package时。比如类为edu.xxx.yyy.Main然后Main.java的目录为src/edu/xxx/yyy/Main.java则首先在Main.java同级目录javac -cp Main.java然后回退到src。执行java -cp . edu.xxx.yyy.Main或者java edu.xxx.yyy.Main总之就是回退到package最顶层的上一层。...原创 2019-11-09 09:34:23 · 324 阅读 · 0 评论 -
Java读写文件模板以及readLine的坑
写文件FileWriter fileWriter = new FileWriter(filename, false);fileWriter.write(stringBuilder.toString());fileWriter.flush();fileWriter.close();读文件FileReader fileReader = new FileReader(filename);...原创 2019-11-08 23:35:23 · 500 阅读 · 0 评论 -
Netty 有什么用
来源:https://blog.youkuaiyun.com/bjweimengshu/article/details/78786315 随着移动互联网的爆发性增长,小明公司的电子商务系统访问量越来越大,由于现有系统是个单体的巨型应用,已经无法满足海量的并发请求,拆分势在必行。在微服务的大潮之中, 架构师小明...转载 2018-04-08 11:40:00 · 288 阅读 · 0 评论 -
SpringBoot学习(三)--构建RESTFUL API并用spring-data-jpa进行存储&&使用IDEA反向生成带注释的实例
构造User对象(/domain),如果有数据库的表可以直接使用IDEA反向生成实例的类。过程如下: 打开IDEA:View-ToolWindows-Database。添加数据来源,选择数据库类型,输入数据库的ip。如果不是默认Windows登陆数据库,则取消勾选然后填入用户名,密码。如果Test Connection是暗的,则看看左下角有没有提醒下载驱动,有的话就下载后Test。成功后就添加了...原创 2018-04-10 14:40:38 · 1102 阅读 · 0 评论 -
Java反射使用
因为使用spring data jpa时生成了多个名字相似的方法(根据数据库表自动生成的类与对应的Repository,有的类有setCol,setCol1,setCol2。。。setCol100个方法),业务需要,代码每次执行的setCol方法都根据情况而变,所以需要使用动态生成代码的方法。也就是Java的反射Java的反射机制是在运行状态中,对于任意一个类,都能通过该类的字节流文件(....原创 2018-05-03 11:59:28 · 288 阅读 · 0 评论 -
Spring-boot-jpa update
Spring-data-jpa中默认的save,会先根据主键检查该对象是否在表中,如果在则会使用Update,该update会将所有字段都set一遍,假如类中的字段过多,可以使用这个而不是自己写@Query。 如果不在则会insert。...原创 2018-05-03 16:45:44 · 790 阅读 · 0 评论 -
使用Lombok简化代码
Lombok可以简化代码,在写Bean时不再需要自己用ide生成getter和setter。使用Lombok的注解“@Data”即可。更多注解看:https://projectlombok.org/features/安装过程如下:1 用maven引用 <dependency> <groupId>org.projectlombok</...原创 2018-04-27 17:16:53 · 227 阅读 · 0 评论 -
对于一个复杂的java项目。如何利用命令行来生成class文件并运行
文件结构包结构中default包下不能有包。因为自定义包中的的类无法调用default包下的类。所以结构需要是这样的srcA - Test1.javaB- Test2.java这样才能相互调用。命令javac:编译命令。使用参数有 -cp(-classpath)指引用的包的路径,比如 Test1.java中有 import B.Test2,则javac -cp . .\B...原创 2019-10-15 15:49:02 · 338 阅读 · 0 评论 -
UDP模仿TCP
udp模仿tcp类似于socket实现tcp的功能(单方向),比如三次握手,四次挥手,超时重传快速重传等等。模拟TCP的功能三次握手四次挥手发送端要带有计时器,要实现RTT估计和RTO(重传计时器)估计。RTT如下SampleRTT某报文段被发出到对该报文段的确认被收到之间的时间量EstimatedRTT=(1-α)* EstimatedRTT+α*SampleRTT(α=0.1...原创 2018-11-28 20:59:55 · 5171 阅读 · 0 评论 -
4阶B树(2-3-4树/TwoFourTree)之插入
B树插入满节点分裂有 两种方法。一种是递归写法,即先往下找到要插入的节点,直接插入。满了就传值到上层进行分裂,一种是迭代写法,在找要插入的节点过程中遇到满街点就分裂,自然当插入的节点满了往上传时其父节点非满,不需要分裂。下面分别说明:递归递归写法中,将包括带插入的值在内的4个值排序,左边两个留在原来的节点,第三个往上,第四个作为新节点,即原来节点的父节点的新的子节点,如图。基本思想就是...原创 2018-12-07 08:50:08 · 7648 阅读 · 0 评论 -
Java字符串输出格式化
比如想输出Area: 1.23Permiter: 1.2即数字左对齐则String.format("%s%-10.2f", “Area:”, 1.2344);String.format("%s%-10.1f", “Permiter:”, 1.2344);这里的-10表示左对齐,左边空10格(包括Area占了4格)而.2表示保留2位小数点。写入到文件Print...原创 2019-05-04 11:17:31 · 4225 阅读 · 0 评论 -
SpringBoot学习(二)--构建RESTFUL API并用JdbcTemplate进行存储
RESTFUL API首先,REST是所有Web应用都应该遵守的架构设计指导原则。面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。在这里我们是对一个User对象进行操作。增删改查。REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。(7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS) REST...原创 2018-02-17 10:14:31 · 448 阅读 · 0 评论 -
线程安全Map比较
如何线程安全的使用HashMap 2016年09月02日 13:37:32 标签: ...转载 2018-02-12 17:29:04 · 11950 阅读 · 2 评论 -
SpringBoot学习(一)
入门本文适用于不熟悉spring的小白。博主本人也是初次接触。有错误的请指导~ 参考http://blog.didispace.com/ 这位博主的分享,会更改他一些代码使适用于springboot 1.5.10 构建项目系统要求:使用 Intellij IDEA, java 1.8构建项目: 全部使用默认设置即可文件结构: .idea/.mv...原创 2018-02-12 16:54:10 · 244 阅读 · 0 评论 -
Java学习--(二)使用文本文档写java程序
新建记事本,重命名为xxx.java(注意要把后缀txt也改了) 打开,将下列代码复制进去public class HelloWorld{ public static void main(String[] args) { System.out.println("HelloWorld"); }}保存到简单的路径,比如d盘的根目录退出原创 2015-07-28 23:05:43 · 913 阅读 · 0 评论 -
Java学习--(六)数组
数组的初始化:数据类型[ ] 数组名; 分配内存空间:数组名= new 数据类型 [数组长度]; 赋值:1.在初始化时int[] Int={1,2,3,4}; 2.在分配空间时赋值Int = new int[4]{1,2,3,4}; 3.直接赋值Int[2]=3;操作:使用java.util.Arrays类 1.排序:Arrays.sort(数组名);(按升序排列) 比如:Array.s原创 2015-08-09 15:45:22 · 618 阅读 · 0 评论 -
Java学习--(三)变量与常量与与C++的一些区别
感觉与C++并没有多大的不同,同样有关键字,标识符(数字,字母,$,_(注意符号只能有这两个))。 1.基本数据类型:boolean, char, byte, short, int, long, float, double, void,此外还有Wrapper type,Boolean, Character, Byte,Short…(就是上面八种的全称且开头大写(同C++,Java也是区分大小写的)原创 2015-07-28 23:57:28 · 962 阅读 · 0 评论 -
Java学习--(五)Buliding a Java Program(使用eclipse)
Flie->New->Java PRoject->Project Name->finish 右键左边出现的新Project->New->Package->Package_Name->finish->仍然在右边右键src->New->class->Class_Name(不能和Package_Name一样)如果我们想使用一个Java自己或我们已经定义的类,就需要使用关键字“import”(类似于c++原创 2015-08-03 21:28:57 · 612 阅读 · 0 评论 -
Java学习--(七)类
类的组成:field & method属性和方法 类的写法基本和C++中无异同C++,为了安全性,最好把所有的属性都设为private,使用方法来获取值或修改值,如果使用eclipse可以直接生成set和get方法,source-》Generate Getters and Setters,选择想要的属性即可继承:java中一个子类只能有一个父类。 继承关键字extends: 比如父类Animal原创 2015-08-09 20:56:39 · 471 阅读 · 0 评论 -
Java(十二)--List的添加,修改,删除
首先我们先创建课程类/* * 课程类 */public class Course { public String id; public String name; Course(){ } Course(String newID,String newName){ id=newID; name=newName; }}接着原创 2015-08-23 23:09:39 · 11937 阅读 · 0 评论 -
Java学习--(八)多态
多态分为1.引用的多态2.方法的多态 1.引用的多态 又分为两种:1.父类引用指向本类的对象2.父类引用指向子类的对象(同C++) 2.方法的多态 指向子类时用的是子类的重载方法,如果该子类没有重载该方法,则还是用父类的方法,要注意的是如果引用是父类的,那么不能使用父类中没有的方法具体使用方法类似于C++,比如父类为交通方式,属性为名字,载客量,载客方式,子类则为具体化的交通方式,代码如下/原创 2015-08-09 22:39:02 · 563 阅读 · 0 评论 -
Java(十四)--创建窗口,添加按钮,接受事件
创建窗口的话需要引入javax.swing.*,使用了里面的JFrame,如下public static void main(String[] args){ JFrame frame=new JFrame("Hello World");//括号中为窗口的名称 //设置窗口关闭的方式 frame.setDefaultCloseOperation(JFrame.EXIT_IN_CLOSE);原创 2015-08-25 20:58:13 · 5173 阅读 · 0 评论 -
Java(十三)--Set的添加,删除,修改
Set即集合,有着无序性,不可重复性等特性。HashSet是Set的重要实现类,哈希集 同List相同,有add(),addAll(),remove(),removeAll(),size()等方法,但没有set(),get()方法,(以上方法都没有写参数)。因为Set有无序性,所以不能通过下标来获取元素。只能通过Iterator和for方法 接上个程序(Course),这次创建学生类import原创 2015-08-25 20:17:06 · 3127 阅读 · 0 评论 -
Java学习--(四)新的数据类型:类(class);field,method
P69-74 类也属于一种数据类型。类似C++,目前书上还没详细讲。 Field:有时可以叫做数据成员。也还没看出什么差别 Method:有时可叫做成员函数。 基本数据类型(上节说到)在类里都有默认值,都为零(但写法略有不同比如0.0f,0.0d),但只有作为全局变量和类的数据成员才会自动初始化,局部变量则不会自己初始化(C++编译器会出警告,而Java编译器则报错),所以任何时候声明变量最原创 2015-07-29 23:40:24 · 730 阅读 · 0 评论 -
Java学习--(九)异常处理
关键字try…catch…catch…finally…(finally执行catch错误后要执行的代码)。 在java语言中,错误类的基类是java.lang.Error,异常类的基类是java.lang.Exception。 两者的父类都是java.lang.Throwable。一般Error类都是程序本身无法修复的错误,而Exception则可以通过异常处理来处理。Exception下如下又有原创 2015-08-16 15:24:42 · 624 阅读 · 0 评论 -
Java学习--(十)final关键字
1.final 相当于const,定义一个常量,编译时不能确定值,运行时确定。例子import java.util.*;...private static Random rand =new Random(38);//38是种子,//注意这里的rand是static型的。public static final int VALUE_ONE=rand.nextInt(2);//0-2的随机数该例可原创 2015-08-20 16:51:08 · 439 阅读 · 0 评论 -
Java学习--(十一)包装类,Date,SimpleDateFormat,Calendar类的使用
1.包装类(Wrapper Class)的使用 以Integer为例,首先是转换, xxxValue()方法返回的是xxx类型的值,比如byteValue(),就是将Integer转为byte类型的值,xxx包括 byte,double,float,long,int。 还有方法: parseInt(String s),返回static int的值,将字符串转为int类型;int a=Int原创 2015-08-21 17:00:56 · 648 阅读 · 0 评论 -
JAVA(十五)--接口INTERFACE
抽象类(abstract class),抽象方法(abstract method) 当我们要创建一个类,只是用来作为一个统一的界面,提供方法名和属性名,而不去实现,我们就需要用到抽象方法。如果还是用普通的类,那可能会不小心去实例化它,但它里面一些东西是没有实现的。这在运行时就会出现错误, 而且是在使用的时候发现。最好是能够在编译时就发现错误,所以我们就需要用到关键字abstract。 如果一个类原创 2015-10-04 08:23:14 · 440 阅读 · 0 评论 -
JAVA(十六)--内部类
.this 和 .new 如果在内部类中需要返回外部类的引用,那么可以用外部类类名,加上.this。 如果要使用内部类,又不想使用方法来返回引用,那就要用到外部类类名.new public class Outer{ public class Inner{ public Outer outer(){ return Outer.this; //返回外原创 2015-10-16 08:33:52 · 507 阅读 · 0 评论 -
Android学习--实现listview批量删除的功能
继放下了上次的项目两个月之后,领导又有了新的需求,她发现要删除已经到期的倒数日太多,又不能批量删除。所以我就想做一个跟微信一样的,长按弹出菜单,直接删除当前的,或者是多选删除。 这就需要用到checkbox。 首先是修改xml文件。直接在list-item的文字前面加checkbox即可<Checkbox android:id="delete_cb" android:width=原创 2016-08-23 15:29:42 · 2669 阅读 · 0 评论 -
Java学习--(一)环境配置与Eclipse安装
Java中核心概念:JVM,JDK,JRE,其中JDK的范围最大,把JDK安装了其他两个也就安装了。 1.先去http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载JDK文件,注意选择自己的版本,windows也分 32,64位。 2.下载完成后安装,路径自选,不过要记住,接下来配原创 2015-07-27 21:34:19 · 770 阅读 · 0 评论