Java
Borny鼎鼎
我想,我也是个匠人,砌代码的。
展开
-
关于static属性添加@Value注解无法取值的问题
Spring不能直接注入数值到静态字段中,解决方案,如下。原创 2024-07-02 16:16:31 · 285 阅读 · 0 评论 -
Java SE8新的日期和时间API简单使用样例
(1)时间戳、LocalDateTime、时间字符串的互转。(2)Date、LocalDateTime的互转。原创 2024-03-12 10:57:29 · 388 阅读 · 0 评论 -
java stream简介
Collectors类实现了很多归约操作,例如,toList、toMap、toSet、counting、summingInt、averagingInt、maxBy、minBy、joining、groupingBy等等。map方法用于映射每个元素到对应的结果,有返回值,返回的是一个新流,可以对这个流进一步操作。sorted方法用于对流进行排序,例如,sorted()用于升序,sorted(Comparator.reverseOrder())用于降序。skip则是返回除前n个元素的元素。min用于获取最小值。原创 2024-01-26 14:50:53 · 635 阅读 · 0 评论 -
java SHA-256加密
【代码】java SHA-256加密。原创 2024-01-03 10:20:17 · 447 阅读 · 0 评论 -
JSONObject、ObjectMapper和instanceof运算符简介
其中,object是要检查的对象,type是要检查的类型。instanceof运算符返回一个布尔值,如果对象是指定类型的实例,则返回true,否则返回false。// json字符串转对象(对象可是类、// 对象转json字符串(对象可是类、byte[]字节数组、List集合、Map集合等)byte[]字节数组、List集合、Map集合等)(3)instanceof运算符。在运行时动态地确定对象的类型。原创 2023-11-23 16:38:54 · 308 阅读 · 0 评论 -
JVM-最重要的JVM参数总结
Xss[unit]或-XX:ThreadStackSize=[unit],设置栈内存的大小。例如:-XX:SurvivorRatio=8,表示两个survivor:eden=2:8,即一个survivor占新生代的1/10。例如:-XX:NewRatio=4,表示新生代:老年代=1:4,即新生代占整个堆的1/5。-XX:MaxNewSize=[unit],设置新生代最大值。官方推荐幸存代占新生代的1/10。原创 2022-12-29 13:45:42 · 2191 阅读 · 0 评论 -
快速使用MAT工具分析OOM
1、设置运行参数java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -jar xxx.jar-XX:+HeapDumpOnOutOfMemoryError,设置当内存溢出时,则导出堆信息-XX:HeapDumpPath=/tmp/heapdump.hprof,指定导出堆信息时的路径或文件名称,如果不设置HeapDumpPath参数,则默认为当前目录和文件名称2、MAT工具下载地址,https://www原创 2021-01-02 20:46:43 · 212 阅读 · 0 评论 -
ThreadPoolExecutor简介
1、简介Executor框架包括了线程池的管理,提供了线程工厂、队列以及拒绝策略等,Executor框架让并发编程变得更加简单。线程池实现类ThreadPoolExecutor是Executor框架最核心的类。2、简单实例(1)MyRunnable.javapackage cn.hwd.tpe.service;import lombok.extern.slf4j.Slf4j;...原创 2019-12-17 14:25:30 · 373 阅读 · 0 评论 -
搭建tomcat图片服务器
搭建tomcat图片服务器只需两步:(1)修改tomcat端口(2)配置路径找到conf文件夹下的server.xml,按需修改配置文件,然后启动tomcat服务器即可。修改后的server.xml文件如下:<?xml version='1.0' encoding='utf-8'?><!-- Licensed to the Apache Software Foundatio...原创 2018-05-03 14:37:09 · 3768 阅读 · 2 评论 -
Java实现FTP文件上传、下载和删除的基本操作
1、FTPFTP是File Transfer Protocol(文件传输协议),顾名思义,就是专门用来传输文件的协议。FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。2、实例(1)目录结构(2)pom.xml<project xmlns="http://maven.apache.org/POM/...原创 2018-05-09 14:44:37 · 2344 阅读 · 2 评论 -
如何使用Eclipse将包含第三方jar库的java工程打包成jar包
1、MANIFEST.MF在工程下新建一个MANIFEST.MF的文件,项目结构如下。M.javapackage cn.hwd.main;import java.io.IOException;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrS原创 2017-11-07 14:32:22 · 6199 阅读 · 0 评论 -
Java Enum
1、枚举在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。在java中如何更好的使用这些“数据集”呢,因此枚举便派上了用场。2、实例package com.e.test;public class Test { /** * 普通枚举 * @author 稳定 * */ public enum ColorEn原创 2016-08-20 16:48:51 · 196 阅读 · 0 评论 -
深入理解Java反射机制
1、Class类在Java中,每个类(型)都有一个Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类信息。2、反射反射是Java被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。3、代码示例package c原创 2016-07-26 22:38:23 · 290 阅读 · 0 评论 -
Java注解
1、注解定义 注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。2、JDK内置系统注解(1)@Override注解 @Override是一个标记注解类型,用于修饰此方法覆盖了父类的方原创 2016-07-05 14:55:33 · 278 阅读 · 0 评论 -
FileOutputStream和FileInputStream实现文件的存储操作
1、代码public class Test { public static void main(String[] args) { String filename = "F:\\JavaTest\\test.txt"; String message = "Hello world!"; byte[] bytes = message.getBytes(); MessageS原创 2016-05-19 12:42:03 · 577 阅读 · 0 评论 -
自定义异常简单实例
1、Java中throws和throw的区别throw是语句抛出一个异常。throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)2、代码public class Test05 { public static void main(String[] args) { A a = new A(); try { a.show(-2);原创 2016-05-19 16:26:25 · 3709 阅读 · 0 评论 -
泛型类简单实例
1、代码使用泛型类声明对象时,必须要指定类中使用的泛型的具体实际类型。public class Test { public static void main(String[] args) { Animal animal = new Animal(); Dog dog = new Dog(); Cat cat = new Cat(); animal.show(dog原创 2016-05-19 15:03:17 · 474 阅读 · 0 评论 -
Java多线程售票问题
1、代码public class Test { public static void main(String[] args) { Tickets tickets = new Tickets(10); new Thread(tickets, "售票员A").start(); new Thread(tickets, "售票员B").start(); new Thread(原创 2016-05-19 11:01:34 · 4474 阅读 · 3 评论 -
关于“设计4个线程,其中两个线程对j加1,另外两个线程对j减1”的问题
1、代码public class Test { public static void main(String[] args) { Data data = new Data(); Add add = new Add(data); Dec dec = new Dec(data); for (int i = 0; i < 2; ++i) { new Thread(ad原创 2016-05-19 14:32:51 · 5371 阅读 · 1 评论 -
Socket网络通信
1、套接字TCP/IP套接字用于在主机和Internet之间建立可靠的、双向的、持续的、点对点的流式连接。套接字(Socket)允许程序将网络连接当成一个流,可以向这个流中写字节,也可以从这个流中读取字节。Java中有两类TCP套接字,一种是服务器套接字(ServerSocket),一种是客户端套接字(Socket)。2、SocketSocket是网络上运行的两个程序间双向通信的一端,原创 2016-05-25 22:04:29 · 362 阅读 · 0 评论 -
深入理解Java注解处理器
1、代码示例package com.annotation.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.Retentio原创 2016-07-26 20:02:35 · 561 阅读 · 0 评论