JAVA
必看吧
个人博客 https://www.bikan8.cn/
展开
-
六大设计原则
接口隔离原则:尽量保证接口是最小功能单元,简单的说接口中的所有方法对每一个实现他的类都是有意义的。假如我有一个用户接口,我想加一个vip用户才有的方法,此时应该新建一个vip用户接口才行,因为普通用户没有这个功能,但是你写在普通用户接口中,普通用户也要重写这个方法,会造成资源的浪费。接口隔离不是说一个接口只能有一个方法,是说接口中的方法对所有实现他的类都有意义。依赖倒置:面向接...原创 2020-04-13 16:40:19 · 221 阅读 · 0 评论 -
单例模式懒汉式Java版
要注意的都加注释了package test;/** * @Author 小浩 * @Date 2020/4/12 15:36 * @Version 1.0 **/public class Singleton { // volatile 防止指令重排序 new对象不是原子操作 private static volatile Singleton singleton...原创 2020-04-13 16:39:47 · 240 阅读 · 0 评论 -
JAVA虚拟机(JVM)-类加载机制
类加载机制:全盘委托:所谓全盘委托,就是当一个类加载器负责加载某个Class时,该Class所依赖和引用其他Class也将由该类加载器负责载入,除非显示的使用另外一个类加载器来加载缓存机制:加载过的Class都会放进缓存,在加载其他类的时候先从缓冲区中查找,不存在的时候在按相关机制加载,这也是我们修改后端代码为什么要重启的原因之一。双亲委派:如果一个类加载器收...原创 2020-04-12 16:46:56 · 215 阅读 · 0 评论 -
Java虚拟机(JVM)-类的加载过程
类的加载过程:1.加载:把本地的class文件加载到内存中,为后续工作做准备2.连接:2.1)验证:JVM有自己的一套机制,class必须满足才能在JVM上运行。比如:前几位为魔数,后边是JVM的版本能反推出JDK的版本等等(只要符合JVM的机制就可以在JVM上运行,所以不是只要JAVA语音才行)2.2)准备:为静态变量附初始值,比如 static int 则为...原创 2020-04-12 16:46:01 · 198 阅读 · 0 评论 -
Angularjs中使用layDate日期插件与ng-model使用时的冲突问题
在一切都正常的情况下我发现在日期的iput标签中使用ng-model怎么都绑定不上调试输出也都是空,后来经过查询是冲突导致的具体为什么也没太细看。解决办法就是查询前用jQuery来获取标签的value即可,其他办法大家自行研究。 if($("#endDate").val() != null &&$("#endDate").val()...原创 2020-03-27 11:43:00 · 399 阅读 · 0 评论 -
AnjularJS做级联菜单获取不到 AnjularJS如何实现同步请求
今天在做一个防疫站模块的修改功能的时候,用到了级联菜单但是县区就是获取不到最主要的是后台传过来的数据都是正常的而且新增操作级联菜单也正常使用下面代码是我写的级联菜单方法经过N个小时的调试最终发现了问题所在:AnjularJS默认是异步请求当监控到省id发生变化开始获取所有对应的市,但是请求是异步的,区县早也监控到了市id的变化(因为是同时从后台拿到的省id,市id,区县...原创 2020-03-27 11:42:06 · 173 阅读 · 0 评论 -
java 后端http第三方接口请求中文参数乱码问题
这个乱码问题让我调了一晚上,之前请求第三方接口携带的参数确实没遇到过中文的这次做周边疫情模块的时候需要传入省份城市地区三个中文参数java后端打印请求字符串一切都是正常的但是提交总是返回250通过接口平台后台查看发现提交的字符串中文竟然是乱码然后开始各种修改编码刚开始尝试修改提交url的编码 无效果然后修改项目的编码也无效果但是我发现一个问题如果通过main方法运行请求就没...原创 2020-03-27 11:40:19 · 4617 阅读 · 0 评论 -
java springMVC http请求接口返回值中文乱码问题
在后台请求接口的时候已经设置为UTF-8 但是用JSON传输到前台中文就是乱码解决办法:在请求后面加上prouces是为了防止返回数据给接口调用者出现乱码produces= MediaType.TEXT_PLAIN_VALUE+";charset=utf-8"...原创 2020-03-27 11:39:22 · 2645 阅读 · 0 评论 -
新冠实时数据源码 Java版
网上大部分疫情实时源码都是php的基本没有java版的索性自己写了一个非常简单哈适合搞Java后端的小白学习下哈,前端界面都是自己一个div一个div拼的所以有点丑学前端的同学可以自己设计下。开发工具:后端代码 Idea前端代码 WebStorm开发环境:tomcat7.0主要框架:前端 AngularJs部分样式 BootStrap后端 SpringMVC...原创 2020-03-27 11:59:24 · 1220 阅读 · 1 评论 -
从jvm角度深入理解i++ ++i 区别
测试类package com.company;public class Main { public void testIPlus() { int i = 0; int j = i++; } public void testPlusI() { int i = 0; ...原创 2019-10-31 18:35:51 · 537 阅读 · 5 评论 -
简述jdk5-jdk8各个版本的新特性
只是从应用角度简述一下自己知道的不同版本的新特新并不全面JDK 1.51.增加了for each 可以用for each对实现iterable接口的类进行遍历2.泛型也是1.5引入的3.callable接口也是1.5引入的 但是创建线程的方式就是2种,jdk官方说的谁说也不好使可以看下Thread源码备注有写JDK 1.61.JDK1.6以后对synchronize进行了各...原创 2019-10-17 19:21:23 · 553 阅读 · 0 评论 -
java 对Frame画板中的元素图片进行监听 对图片进行监听
如果没有画板的情况下 把图片放在标签里 监听标签即可// 对标签 添加图片 model_1.setIcon(new ImageIcon(ImageUtil.get("model_1")));// 对 单人游戏 标签添加监听 model_1.addMouseListener(new MouseAdapter() { @Override public void mou...原创 2019-08-18 16:29:25 · 460 阅读 · 0 评论 -
java 点击按钮窗口键盘监听失效解决办法
按钮被点击后焦点会在按钮上 即使你在点击窗口也是不能监听到的 其实解决办法很简单把按钮的焦点设置为false 注意设置窗口焦点为true是没用的 焦点还是在按钮 // 保存当前数据 but_update.addActionListener(new ActionListener() { @Override public void actionPerform...原创 2019-08-19 07:45:09 · 2392 阅读 · 0 评论 -
JAVASE 实现计时 按钮验证码倒计时
这样就可以让按钮显示在倒计时 注意内部类和成员变量是同级 如果需要用到变量请定义为成员变量// 设置计时任务 1s 循环60次 停止任务 Timer timer = new Timer(); timer.schedule(new TimerTask() { int i = 60; @Override public voi...原创 2019-08-20 13:57:58 · 303 阅读 · 0 评论 -
java获取指定范围内的随机小数
package test1;import java.util.Random;public class Test { public static void main(String[] args) {// 注意nextDouble() 方法无参 nextInt()可以传参 Random r = new Random();// 获取一个小数 区间为 (0,1) System....原创 2019-08-15 20:21:42 · 15198 阅读 · 0 评论 -
阿里云短信发送时报错Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParser
错误如下Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParser at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:...原创 2019-08-17 16:15:24 · 1977 阅读 · 0 评论 -
Java实现发送邮箱验证码
设置邮箱的SMTP服务器 导入Maven依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.4&...原创 2019-10-04 09:10:39 · 889 阅读 · 0 评论 -
laydate设置只能选择当前日期之后的日期
设置日期只能选择当前日期之后的日期<script> laydate.render({ elem: '#expiryDate' ,type: 'datetime' ,lang: 'en' ,min: getNowFormatDate() // 这里是设置最小日期 ,btns: ['clear',...原创 2019-10-04 09:47:05 · 4189 阅读 · 2 评论 -
JavaWeb项目接入腾讯云滑块验证码详细教程
接入的大概流程 前端页面用户点击验证后会返回2个必要参数 ticket和randstr,然后我们用AJAX异步请求发送到后端,然后后端发送请求到腾讯云服务器,然后服务器会给我们返回最终结果 ok则代表成功前端接入在 Head 标签的最后加入以下代码,引入验证 JS 文件(建议直接在 HTML 中引入)。<script src="https://ssl.captcha.qq.com...原创 2019-10-07 17:55:25 · 4521 阅读 · 2 评论 -
java 解决键盘监听 和按钮监听冲突问题 有按钮情况下键盘监听不到
当你Frame里边有按钮的时候如果对窗口增加键盘监听会失效原因是因为 你窗口里边有按钮 会让你窗口失去焦点 你点了窗口也不能获取焦点反正就是监听不上键盘了解决办法贼鸡简单 让窗口获得焦点即可 this.setFocusable(true);就这么一句话就能解决问题本来打算用一个标签覆盖整个窗口然后对标签进行监听的 。。。。...原创 2019-08-18 16:22:26 · 2706 阅读 · 3 评论