Java学习笔记
文章平均质量分 55
lamdaxu
微信公众号:【lamdaxu】,欢迎大家关注
展开
-
数组的几种复制方式
数组的几种复制方式原创 2022-07-04 15:32:18 · 611 阅读 · 1 评论 -
静态资源如何提供网络映射服务
开发Web项目时,我们想要在浏览器端访问静态资源,一般来说是将静态资源放在资源文件夹下,比如说一个SSM项目,我们就将静态资源放在webapp下,而SpringBoot的项目,我们就将静态资源放在resource文件夹下。这样我们启动Tomcat后就可在浏览器直接输入路径就可以访问了。现在静态资源不再资源文件夹下,那我们如何使用浏览器访问呢。只需要增加一个配置类就可以了,如图所示,我的静态图片存放在本地E盘下然后浏览器输入路径访问就可以了浏览器端口号路径填写和你的后端配置的映射代码相关。例如在原创 2021-07-13 16:04:48 · 196 阅读 · 0 评论 -
属性资源文件与类的映射
在系统开发中,我们经常会将本地的图片,文档等文件上传到系统。在之前,我们肯定都是在常量类中定义一个路径地址 public static final String IMAGE_USER_FACE_LOCATION = "E:\\workspace\\images\\foodie\\face"我们在使用的时候只需要用一个变量接收就可以了。String fileSpace = IMAGE_USER_FACE_LOCATION;但是这样有一个问题,比如说我们在本地开发,使用的是window系统的电脑,所原创 2021-07-13 15:12:22 · 117 阅读 · 1 评论 -
使用Hiberbate来做参数验证
我们在做Web开发的时候,前端页面需要提交一个表单信息给后端。后端开发人员一般是封装一个BO对象来进行接收的。但是用户在填写表单信息的时候难免会有些疏忽,所以后端一般都会对前端传递过来的数据进行一个校验。例如手机号的长度是否正确呀?邮箱格式呀?密码长度?用户姓名不能为空等等之类。如果前端传递的参数比较少,我们可以直接使用if来进行判断if(用户名为空){ //返回错误信息给前端页面}使用if非常方便,直观。但是如果前端页面传递参数太多,我们还是使用if来进行校验的话。可能就会写太多的重复类似的原创 2021-07-13 14:22:03 · 155 阅读 · 0 评论 -
页面刷新重复提交请求如何解决
页面刷新重复提交请求这个问题在Web开发中很常见。在很多时候我们都忽略了这个问题。那么这个问题的如何触发的呢?一般无非就是你按F5或者在页面鼠标右键点击刷新。可能会触发这个问题。那么为什么会出现这种问题呢。这个是浏览器的原因。浏览器中有一个history对象。当我们发送请求的时候,会将请求存入history这个对象。这个对象的结构就像一个栈。拥有者后进先出的特性。也正是因为这个对象,我们才能能够在浏览器中执行后退操作。但是你比方说,如果我们的上一次请求是往数据库中insert一条语句。那么不断刷新页面原创 2021-04-30 16:28:50 · 3966 阅读 · 3 评论 -
Java并发篇
一、Java如何开启线程?怎么保证线程安全?线程和进程的区别:进程是操作系统进行资源分配的最小单元,线程是操作系统进行任务分配的足校单元,线程隶属于进程。如何开启线程?1、继承Thread类,重新run方法2、实现Runnable接口,实现run方法3、实现Callable接口,实现call方法,通过FutureTask创建一个线程,获取到线程执行的返回值4、通过线程池来创建线程怎么保证线程安全? 加锁:1、JVM提供的锁,也就是Synchronized关键字。2、JDK提供的各种锁,基于L原创 2021-04-11 09:37:31 · 216 阅读 · 0 评论 -
快速失败和安全失败
一、快速失败1、什么是快速失败在使用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的结构进行了修改,比如说增加或者删除操作,那么会抛出ConcurrentModificationException2、原理迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果结构发生变化,就会改变modCount的值。每当迭代器使用hashNext()/next()遍历下一个元素之前,都会检测modCount变量是否为expectedmodCount值,是的话就原创 2020-10-30 10:36:12 · 291 阅读 · 0 评论 -
java中的值传递和引用传递问题
虽然经常听说Java当中只有值传递,但我还是更愿意将他们分为两种,一种是值传递,一种是引用传递。先来看一段代码,看看程序的运行结果,再来依次分析问题所在Person类/** * @author: xuzhi * @date: 2020/10/14 12:06 */public class Person { private int id; private String name; public Person() { } public Person(in原创 2020-10-14 15:03:07 · 161 阅读 · 0 评论 -
HashMap原理详解
hashmap简介原创 2020-10-09 15:37:09 · 14238 阅读 · 2 评论 -
Java中创建对象的几种方式以及破坏单例模式的验证
java中创建对象的方式大致分为四种吧。分别是1、通过new关键字2、通过反射机制3、通过克隆方式4、通过序列化方式之前学过单例模式的时候了解到,反射,克隆,序列化等方式会破坏单例模式,因为通过这种方式获取到的对象和原来的对象根本不是同一个。下面我们来检测一下。这里仅供测试使用,采用了饿汉式的单例模式,本案例未应用多线程,所以这里写的比较简单Student类import java.io.Serializable;/** * @author: xuzhi * @date: 2020/1原创 2020-10-08 11:49:32 · 171 阅读 · 0 评论 -
测试类使用@Autowired注入的bean为null
SpringBoot项目编写测试用例,在测试类中使用@Autowired注解拿到bean的值为null。public class OrderBookServiceTest { @Autowired private OrderBookService orderBookService; //null @Test @Transactional public void testHandleJson(){ String msg="{\"asks\":[原创 2020-09-18 09:37:16 · 6108 阅读 · 0 评论 -
CDN入门了解
一、什么是CDNCDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速原创 2020-09-08 17:45:14 · 896 阅读 · 0 评论 -
GUI组件
题目:实现一个能做算术运算的用户界面。界面包括标签和文本域Number1、Number2、Result。Result文本域用于显示Number1和 Number2的算术运算的结果。程序使用四个按钮,它们分别标有Add、Subtract、Multiply和Divide。(1)拥有计算两个数的加、减、乘、除的功能:点击Add按钮,Result文本框加法显示结果;点击Subtract按钮,Res...原创 2019-11-18 16:18:21 · 821 阅读 · 0 评论 -
求N个数的平均值:请在文本区域输入需要计算的N个数,在右边的文本区域输出N个数的平均值。
题目: 求N个数的平均值:请在文本区域输入需要计算的N个数,在右边的文本区域输出N个数的平均值。截图左边为输入 ,右边为平均数代码public class AverageMain { public static void main(String[] args) { AverageFrame af=new AverageFrame(); af.setBound...原创 2019-11-17 09:22:26 · 895 阅读 · 0 评论 -
枚举类中的valueOf用法
前言:今天遇到了一个枚举类的valueOf用法,遇到了一点问题,这里特例写一个demo来测试一下先创建一个BasicEnum的接口/** * @Author 徐志 * @date 2020/9/4 12:42 **/public interface BasicEnum<L,V> { /** * get name * * @return */ L getName(); /** * get value原创 2020-09-04 18:11:12 · 8381 阅读 · 0 评论 -
Java集合遍历
Java笔记一集合当中的遍历方法1.遍历List的方法一 ------普通for循环for(int i=0;i<list.size();i++){ String temp=(String)list.get(i); System.out.println(temp);}2.遍历List的方法二------增强for循环for (String temp:list){...原创 2019-11-22 14:52:36 · 148 阅读 · 0 评论