JAVA
文章平均质量分 54
新一coding
自律的努力并坚持!
展开
-
Tomcat部署方式
Tomcat部署方式有三种:连接外部路径(/conf/server.xml)新建XML文件(/conf/Catalina/localhost/xxx.xml)内嵌(/webapps/xxx)一、连接外部路径(/conf/server.xml)打开tomcat下conf/server.xml,在标签之间输入项目配置信息<Context path="/webProject" docBase="D:\WebProject" reloadable="true" debug="0">..原创 2021-03-30 19:30:12 · 355 阅读 · 1 评论 -
Java8新日期API精华篇
为什么要学习新的日期API旧的日期API(Date/Calender)计算困难,毫秒值计算容易出现误差旧的日期API(Date/Calender)线程不安全SimpleDateFormat类是线程不安全的,在多线程的情况下,全局共享一个SimpleDateFormat类中的Calender对象有可能会出现异常旧的日期API(Date/Calender)不符合开发规范,使用了魔法数字,初始化月份需-1等操作 最终JavaSE 8中引入了java.time包,这种全新的包从根原创 2020-11-15 17:36:26 · 304 阅读 · 0 评论 -
Java8新日期API起始篇
Java8的日期类 LocalDate、LocalTime、LocalDateTime、ZonedDateTime、Instant……为什么要学习新的日期API旧的日期API(Date/Calender)计算困难,毫秒值计算容易出现误差旧的日期API(Date/Calender)线程不安全SimpleDateFormat类是线程不安全的,在多线程的情况下,全局共享一个SimpleDateFormat类中的Calender对象有可能会出现异常旧的日期API(Date/Cal原创 2020-10-31 22:43:05 · 222 阅读 · 0 评论 -
Date的before与after
Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;即当Date2日期比Date1小的时候为true,否则为falseDate1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,请注意。如果有这样的需求,在某个日期内的业务check,那么你需要使用:非 !Date1.after(Date2)...原创 2020-09-23 12:43:54 · 327 阅读 · 0 评论 -
IDEA使用教程之快捷键
IDEA使用教程之设置快捷键1. 设置快捷为 Eclipse 的快捷键2.修改快捷键设置3.指定快捷键,查看或修改其功能4.导入已有的设置选择文件 点击 0K 之后,重启 IDEA 即可生效。快捷键配置jar包 https://pan.baidu.com/s/1TRTfxEMQe0fhYh1YR9Rk0w 提取码:9y3p5.常用快捷键说明1执行(run)alt+r2提示补全 (Class Name Completion)alt+/3单原创 2020-07-17 22:55:55 · 256 阅读 · 1 评论 -
IDEA使用教程之模板
IDEA使用教程之模板(Templates)模板主要分为两部分(Editor – Live Templates 和 Editor – General – Postfix Completion)1.Live Templates(实时代码模板)功能介绍它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();官方介绍 Live Templ原创 2020-07-17 22:44:56 · 1178 阅读 · 0 评论 -
JAVA--BigDecimal
引言 Float和double类型的主要设计目标是为了科学计算和工程计算。它们执行二进制浮点运算你,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场了。浮点计算示例public static void main(Str...转载 2019-12-23 18:33:19 · 177 阅读 · 0 评论 -
Springboot--Dao层接口传入多参
Dao层接口定义/** * 根据条件,更新数据库指定字段的值 * @param field 表中字段 * @param value 该字段要更新的值 * @param sku 指定条件 */ public void updateProductbyAttributeDu(@Param("field") String field,@Param("value") Object...原创 2019-10-25 16:38:11 · 1053 阅读 · 0 评论 -
JAVA--xml转成list
将Xml部分内容转为List<实体类>并且实体类属性不仅仅局限于String类型。接收实体类public class InventoryQueryReturn{ // 商品编码,string(50),必填 private String itemCode; // 未冻结库存数量,int,必填 private String quantity; // 冻结库存数量,i...原创 2019-10-25 16:07:19 · 2199 阅读 · 0 评论 -
JAVA--客户端并发登录
需求客户端通过键盘录入用户名,服务端对这个用户名进行校验。如果该用户存在,在服务端显示:XXX,已登录,并在客户端显示:XXX,欢迎光临。如果该用户不存在,在服务端显示:XXX,尝试登录,并在客户端显示:XXX,该用户不存在。限制最多登录三次。编码import java.net.*;import java.io.*;class LoginClient{ // 客户端...原创 2019-10-17 21:15:52 · 344 阅读 · 0 评论 -
JAVA--客户端多线程并发上传图片
问题背景单线程上传图片服务端有个局限性:当A客服端连接上以后,被服务端获取到,执行上传图片操作流程。这时B客服连接,只能等待。因为服务端还没有处理完A客户端的请求,还要循环回来执行下次accept()方法,所以暂时获取不到B客户端对象。思考为了可以让多个客户端同时并发访问服务端,那么服务端最好就是将每个客户端需要的操作封到一个单独的线程中,这样就可以同时处理多个客户端请求。...原创 2019-10-17 21:14:00 · 780 阅读 · 0 评论 -
JAVA--TCP上传图片
思路1.建立服务,指定连接IP地址和端口。2.获取客户端已有的图片数据。3.通过Socket输出流将数据发送给服务端。4.服务端获取客户端发送过来的图片数据,重命名后存储到服务端本地路径下,并返回"上传成功"给客户端。5.客户端获取服务端反馈的上传结果信息,并打印在控制台上。6.结束,关闭资源。编码import java.net.*;import java.io...原创 2019-10-17 21:09:19 · 293 阅读 · 1 评论 -
JAVA--TCP上传文本
常用方法void shutdownOutput():禁用此套接字的输出流。即关闭客户端的输出流,相当于给流中加入一个结束标记-1,告诉服务端数据已写完。编码import java.net.*;import java.io.*;class TextClient{ // 客户端 public static void main(String[] args)throws Excepti...原创 2019-10-17 21:07:41 · 131 阅读 · 0 评论 -
JAVA--文本转换服务器,Tcp传输与IO操作结合小练习
需求建立一个文本转换服务器。客户端给服务端发送文本,服务端会将文本转成大写再返回给客户端。而且服务端可以不断的进行文本转换,当客户端输入over时,转换结束。思路1.建立服务。2.获取键盘录入。3.将数据发送给服务端。4.服务端获取客户端发送过来的数据转换为其大写形式后再发送回客户端。5.客户端获取服务端发送回的数据的大写形式并打印在控制台上。6.结束,关闭...原创 2019-10-17 21:05:13 · 301 阅读 · 0 评论 -
JAVA--Tcp传输客户端和服务端的互访
需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息。/*客户端:1.建立Socket服务,指定要连接主机和端口。2.获取Socket流中的输出流,将数据写到该流中,通过网络发送给服务端。3.获取Socket流中的输入流,将服务端反馈的数据获取到,并打印到控制台。4.关闭客户端资源。*/import java.io.*;import java.net.*;class...原创 2019-10-17 20:57:29 · 324 阅读 · 0 评论 -
JAVA--TCP传输
目录步骤概述常用方法示例需求:演示Tcp传输客户端服务端编码图解步骤概述 Socket与ServerSocket。 建立客户端和服务器端。 建立连接后,通过Socket中的IO流进行数据的传输。 关闭Socket。客户端与服务器端是两个独立的应用程序。常用方法Socket(Inet...原创 2019-10-17 16:05:26 · 331 阅读 · 0 评论 -
JAVA--键盘录入信息的UDP传输
/*需求:键盘录入信息的UDP传输。通过UDP传输方式,在客户端将键盘录入的数据发送到服务端并打印在其控制台上,当在客户端输入"over"时,停止继续输入信息。*/import java.net.*;import java.io.*;class UdpSend2{ // 发送端 public static void main(String[] args)throws Except...原创 2019-10-15 16:55:26 · 217 阅读 · 0 评论 -
JAVA--UDP传输
步骤概述 DatagramSocket与DatagramPacket。 建立发送端,接收端。 建立数据包。 调用Socket的发送接收方法。 关闭Socket。发送端与接收端是两个独立的运行程序。常用方法DatagramSocket类表示用来发送和接收数据报包的套接字。DatagramSocket():...原创 2019-10-15 16:54:06 · 180 阅读 · 0 评论 -
JAVA--InetAddress
InetAddress类表示互联网协议 (IP) 地址。常用方法static InetAddress getLocalHost():返回本地主机。static InetAddress getByName(String host):在给定主机名的情况下确定主机的 IP 地址。String toString():将此 IP 地址转换为 String。String getHostAd...原创 2019-10-15 15:43:45 · 175 阅读 · 0 评论 -
JAVA--网络编程
目录网络模型概论OSI参考模型TCP/IP参考模型图解详解网络通讯要素IP地址端口号传输协议两个设备通讯步骤TCP\UDP和SocketUDPTCPSocket详解网络模型概论OSI参考模型OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems ...原创 2019-10-15 14:56:33 · 135 阅读 · 0 评论 -
JAVA--进制转换
二进制: 0-1,满2进1.二进制→十进制 (乘):原理:二进制乘以2的过程。十进制: 0-9,满10进1.十进制→二进制(除):原理:对十进制数进行除2运算。能整除没有余数,得0 ,反之得1,从右往左写出结果,不足八位,在高位补0.Java计算数值二进制方法:Integer.toBinaryString(数值)八进制: 0-7,满8进1,用0开头...原创 2019-03-09 22:11:32 · 103 阅读 · 0 评论 -
JAVA--逻辑运算符
逻辑运算符: &(AND 与) |(OR或) ^(XOR 异或) !(NOt 非) &&(AND 短路与) ||(OR 短路或)true & true =true;true & false=false;false& true =false;false& false=false;总结:只要两边的boole...原创 2019-03-09 10:34:27 · 197 阅读 · 0 评论 -
JAVA--算术运算符之取余(%)运算小技巧
取余(%) --> 左%右 左边小于右边 所得值是 左边值; 左边等于右边 所得值是 0; 例如 3%5 = 3; 例如 5%5 = 0;--> 左%右 当左右两边存在负值时,所得值是 左边值 例如 3%-5 = 3; -3%-5 = -3; -3%5 = -3;...原创 2019-03-09 10:38:30 · 2715 阅读 · 0 评论 -
JAVA--位运算
<<<<(左移位运算):其实就是乘以2的移动的位数次幂。 例如 3<<2 相当于3*2(2)=12<<(左移位运算) 后在空出来的最低位位置补0>>>>(右移位运算):其实就是除以2的移动的位数次幂。例如 6>>2 相当于6/2(2)=1[整数相除取整]>>(右移位运原创 2019-03-12 21:04:33 · 484 阅读 · 0 评论 -
Java--Math类floor、round以及ceil方法详解
floor原意:地板。Math.floor函数执行的是向下取整,就是求一个最接近它的数值,它的值小于或等于这个浮点数,返回double型数值。计算技巧:向下取整的时候,正数,则取其整数部位,抹除小数部位;负数,则取其整数加一;整数,则不变round原意:大约,环绕,附近的意思。在函数中是"四舍五入",算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,返...原创 2019-03-21 17:21:27 · 691 阅读 · 0 评论 -
JAVA--数据类型
目录基本数据类型:byte:short:int:long:float:double:char:boolean:引用数据类型:差异:编码方式为Unicode:1字(word)=2字节(byte)=16位(bit)1位(bit):代表二进制中的0或1,即一位二进制数基本数据类型:byte:1byte=8bit...原创 2019-03-25 16:58:33 · 132 阅读 · 0 评论 -
Java--排序算法(选择、冒泡)
排序算法选择排序: // 选择排序 public static void selectSort(int[] arr){ for(int x=0;x<arr.length-1;x++){ for(int y=x+1;y<arr.length;y++){ if(arr[x]>arr[y]){ int temp=arr[x]; ...原创 2019-03-22 17:36:15 · 113 阅读 · 0 评论 -
JAVA--equals()和==的区别
目录==:equals():区别:基本数据类型:引用数据类型:总结:==:直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实际是指向同一个对象实体地址的。equals():在Object根类中,equals()方法和“==”功能一样。在String类中,equals()方法重写了,它的功能是比较两个引用对象的内容是否相同。具体的equ...原创 2019-03-26 15:17:32 · 128 阅读 · 0 评论 -
JAVA--四种访问修饰符的区别
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。public: 对所有类可见。使用对象:类、接口、变量、方法。 (任何类中都能被访问到) protected: 对同一包内的类和所有子类可见。使用对象:变量、方法。注意:不能修饰类(外部类)。 (被位于同一package中的所有类访问到,被protected所修饰的成员也能被该类...原创 2019-03-26 18:15:04 · 2486 阅读 · 1 评论 -
JAVA--制表法进制转换
// 十进制-->二进制 public static void toBin(int num){ trans(num,1,1); } // 十进制-->八进制 public static void toOct(int num){ trans(num,7,3); } // 十进制-->十六进制 public static void toHex(int ...原创 2019-03-23 18:51:36 · 134 阅读 · 0 评论 -
JAVA--数组元素查找方法
从头遍历: 没有约束条件/*数组元素的查找方法*/ public static int getIndex(int[] arr,int key){ for(int i=0;i<arr.length;i++){ if(arr[i]==key){ return i; // 查...原创 2019-03-24 16:38:35 · 8246 阅读 · 0 评论 -
JAVA--单例模式
目录解决目标:实现思路:具体代码:饿汉式:先初始化对象。懒汉式:对象延时加载(对象是方法被调用时,才初始化)。解决目标:单例设计模式:解决一个类在内存中只存在一个对象。应用:就好像我们生存的世界只有一个月亮,假设现在要设计一个类表示月亮,该类只能有一个实例对象,否则就违背了事实。实现思路:想要保证对象唯一。1.为了避免其他程序过多建立该类对象,先禁止...原创 2019-03-31 16:27:31 · 294 阅读 · 0 评论 -
JAVA--String str=""与new String()的区别
目录常量池:使用String直接赋值:使用new String创建字符串:String拼接字符串:String.intern():总结:常量池: 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。 在常量池中存储字符串常量的内存...原创 2019-03-27 13:41:12 · 11112 阅读 · 4 评论 -
JAVA--面向对象小结
目录面向对象封装:继承:this与super重载和重写区别final抽象接口类、接口关系多态:体现形式前提条件好处弊端向上转型/向下转型多态中成员特点istanceof面向对象面向过程(执行者) 面向对象(指挥者)例如:你把大象装入冰箱中面向过程:打开冰箱门存储大象关闭冰箱门你是一系列动作的执行...原创 2019-04-07 22:31:20 · 135 阅读 · 0 评论 -
JAVA--打印图形类问题总结
目录经典案例正方形:正直角三角形:倒直角三角形:等腰三角形:九九乘法表:规律经典案例正方形:编码 for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ System.out.prin...原创 2019-04-15 17:08:51 · 418 阅读 · 0 评论 -
JAVA--最常见转义字符
前面有反斜杠(\)的字符代表转义字符,其组合改变了原来字符表示的含义,它对编译器来说是有特殊含义的,因此称为“转义”。转义序列 描述 \t(\u0009) 在文中该处插入一个tab键,水平制表符 \b(\u0008) 在文中该处插入一个后退键,退格符 \n(\u000a) 在文中该处换行,换行符 \r(\u000d) 在文中该处插入回车,回车符...原创 2019-04-03 15:49:46 · 334 阅读 · 0 评论 -
JAVA--构造函数
作用对象一建立就会调用与之对应的构造函数,用于给对象进行初始化。注意1.当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。当在类中自定义了构造函数后,默认的构造函数就没有了。一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。2.构造函数和一般函数在写法上有不同。构造函数的函数名要与类名一样,而普通的函...原创 2019-04-16 17:59:57 · 223 阅读 · 0 评论 -
JAVA--浅谈static
当成员(变量、函数)被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用:类名.静态成员。static特点:1.随着类的加载而加载。也就是说:静态会随着类的消失而消失。说明它的声明周期最长。2.优先于对象存在 明确一点:静态是先存在,对象是后存在的。3.被所有对象所共享4.可以直接被类名调用。静态使用注意事项:静态...原创 2019-04-16 18:02:59 · 113 阅读 · 0 评论 -
JAVA--相关命令小结
下面总结一下用命令行编译java文件常用的四个命令:javac:是编译命令,将.java源文件编译成.class字节码文件(编译文件)例如:命令:javac helloworld.java将生成helloworld.class文件。注意:上述前提是该java源文件中只定义了helloworld一个类,如果定义了多个class(类),即会生成相应数量的字节码.class文件。....原创 2019-04-22 22:33:40 · 184 阅读 · 0 评论 -
JAVA--synchronized多线程多组生产者消费者机制案例Demo
/*多线程多组生产者消费者机制*/class ProducerConsumerDemo{ public static void main(String[] args){ Resource r=new Resource(); Producer pro =new Producer(r); Consumer con =new Consumer(r); Thread...原创 2019-05-19 11:49:40 · 270 阅读 · 0 评论