- 博客(51)
- 收藏
- 关注
原创 String 数字 累加 变Double
public Double ListAllPlus(ArrayList<String> list){// return Double.parseDouble(String.valueOf( list// .stream()// .reduce((acc,itm)->{// Integer a = Integer.parseInt(String.valueOf(acc));// Integer i = Integer.parseInt(Str.
2021-07-29 10:32:46
247
原创 kuole
public static <T> List addValue(List<T> t, Class<T> clz, String val) throws Exception { T obj = clz.newInstance(); Field[] fields = clz.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { Field field = fields[i]; Stri
2021-07-23 13:53:21
164
原创 AQS笔记
1 AQS 宏观认识一下 核心思想 如果共享资源空闲 设置为有效线程 如果被占用 进入队列等待单向列表 效果不好 于是用了双向列表 这个列表 叫 CLH1 sync queue 同步队列2 condition queue 非必须 单向队列 只有用到 new Condition() 才会出现的队列 班长等人走完 才锁门3 state 状态 只有三个位置 可以改 getState() setState() CAS4 addWaiter 独占模式 获取资源 拿锁成
2021-07-20 15:52:31
85
原创 GC三色标记
1 顺序 黑 灰 白黑色 扫描完自己 及其 子类灰色 正在扫描中自己 及其子类1 建立三个集合 黑 白 灰2 所有对象 放到白色集合3 GCROOT开始找 找到对象 就放到灰节点 STW4 遍历灰节点 把对象从白节点 移到灰节点 本身 去黑数组5 直到灰节点 是空的 只剩下黑白6 收集白色...
2021-07-20 11:20:28
103
原创 JVM-CMS过程 ---PK---G1过程
甲方拳手1 初始标记 stw 赶紧标记一下 时间短所以标记的少2 并发标记 初始标记把大块都标记好了 继续在初始标记上 深入标记3 并发预处理 并发标记时间会长一点 这时可能有新的对象进入老年代,把他们找出来4 重新标记 把他们都标记出来5 清理6 重置CMS收集器的数据结构,等待下一次垃圾回收。乙方选手G1的思路说起来也类似,它不要求每次都把垃圾清理的干干净净,它只是努力做它认为对的事情。1.初始标记 stw 对栈里面局部变量GC root 静态变量 gcroot 找出来
2021-07-19 17:58:42
86
原创 设计模式-桥接模式
1 是什么你有个接口 用起来很爽 很多东西都用了现在让你改接口 就很蛋疼 很多地方就用了2 于是有了桥接模式 就是 原接口不动 现在有个类去 修改接过原接口东西,重新去加点新的 这样就不用改代码了spring cloud是一系列组件的整合,然后解决了微服务的各种问题...
2021-07-09 16:02:06
48
原创 设计模式-适配器模式
1 是什么美国电器 110V,中国 220V,就要有一个适配器将 110V 转化为 220V。public class AC220V { public int output220v() { int output220v = 220; return output220v; }public interface DC5V { int dc5v(); int dc20v(); int dc11v();}public clas
2021-07-08 16:54:37
81
原创 设计模式-原型模式
1 是什么new出来一个新对象 之后产生的对象 以这个对象为母体 开始克隆 必须用深克隆因为 如果new 一个对象 开销很大 就可以使用原型模式,节约资源2
2021-07-08 16:16:41
59
原创 A child container failed during start
我吐了 找了两个小时@WebServlet("/thread/thread_status/")@WebServlet("/thread/thread_status/") 请求路径有两个一摸一样的
2021-05-13 16:03:27
61
原创 MYSQL列转行
SELECT YEAR , MAX( IF ( c.MONTH = '1', c.count, 0 )) AS 'm1', MAX( IF ( c.MONTH = '2', c.count, 0 )) AS 'm2', MAX( IF ( c.MONTH = '3', c.count, 0 )) AS 'm3', MAX( IF ( c.MONTH = '4', c.count, 0 )) AS 'm4' FROM A c GROUP BY YEAR;
2021-05-07 16:12:42
90
原创 vue跨组件调用
先说一下场景未登录时 点击发布文章跳转登陆界面这是一模态框 需求之这样,点击A 组件 发布按钮 修改B组件 为true 打开模态框1 找一个雷锋来帮忙 随便写一个 vueimport Vue from 'vue'export default new Vue()2 雷锋 导入A组件 注册 雷锋导入B组件 注册3 因为 要修改B 组件 B组件 有个前台小妹 来接待雷锋 mounted() { utils.$on('nav
2021-05-03 17:58:12
746
原创 大白话抽象工厂模式
先说最难的 抽象工厂模式,现在有一种情景: 你相对比一下ak47开枪的一瞬间,沙漠之鹰开枪得一瞬间,手弩开枪的一瞬间 哪个更爽你需要 ak47 ak47的子弹 装弹过程 开枪瞬间沙漠之鹰 沙漠之鹰子弹 装弹过程 开枪瞬间手弩 手弩子弹 装弹过程 开枪瞬间好像可以抽象一下 总感觉有点相似的地方我抽象一下好了 搞个工厂 生产ak47 沙漠之鹰 手弩 和对应的子弹首先 能想到 用工厂模式 路子是对的,但是怎么抽象 又无从下手
2021-04-30 17:57:02
152
1
原创 设计模式之一普通工厂模式
因为 简单工厂模式 有点以来工厂,会使工厂过于复杂,新加产品要改工厂代码,这样不行,于是有了普通工厂 是对简单工厂的一个抽象package com.mcd.test.test;// 1 定义工厂 公共接口abstract class Factory{ public abstract Product Manufacture();}// 2 定义产品 公共接口abstract class Product{ public abstract void Show();}//
2021-04-26 15:36:58
103
原创 redis
导包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.4.5</version></dependency>
2021-04-24 15:47:34
73
原创 pom boot爆红
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
2021-04-24 15:40:29
69
原创 跨域传token 一直报错
token 我刚开始思路是 在vue 想办法 每个参数 都带上,虽然思路没错 ,但是需要后端配合 开开门 你才能进去 @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletResponse
2021-04-23 22:54:27
759
原创 字节数组流的使用(ByteArrayInputStream/ByteArrayOutputStream)【通常结合数据流DataInputStream/DataOutputStream】
问: 我用FileInputStream不香么?为什么用BufferedInputStream?答:FileInputStream不香,1.FileInputStream的read()是一个字符一个字符读2.BufferedInputStream读多个字符是使用System.arraycopy( src, srcPos, dest, destPos, length )这个函数,意思是直接将一片内存进行拷贝过去,而不是像其他的read函数一次只拷贝一个字节或字符。这样就快了很多。3. 应用场景:视频播
2021-04-22 13:41:29
1178
原创 拦截器使用 所有请求 都判断一下
@Componentpublic class WendaWebConfiguration extends WebMvcConfigurerAdapter { @Autowired LoginFilter loginFilter; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginFilter);
2021-04-18 21:45:18
96
原创 IO流初识
IO流其实很简单 我不打算学的深入 够用就行了首先看一个不太好友好的东西这张图看完 我们记住1个知识点,1 末尾是Steram是字节流 其他的都是字符流这张图看完 我们也记住1个知识点1 字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,四个类1附加面试总结...
2021-04-16 13:00:54
51
原创 锁
package com.example.test;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class AirConditioner1{ private Integer number = 1;//1:A 2:B 3:C private Lock lock
2021-04-15 14:38:16
50
原创 注解与反射
注解也是Java基石的一部分 我个人觉得最多是用来看源码上 当然开发中特殊情况 也会遇到1 来源: 1.5 之后才有的2 有什么用? 注解更多起到一个辅助作用 做出某种解释减少错误可能,可以被其他程序读取3 作用域 : 类 方法 属性 都可以@Target(ElementType.METHOD) //作用域@Retention(RetentionPolicy.SOURCE) //时间public @interface Override {}自己写注解1 元注解 说白了就是自己
2021-04-14 16:03:56
61
原创 vue 读取图片自适应 布局
getSingTop() { var that = this area_axios.get('http://localhost:8080/markdown/selBlogById?id='+this.$route.params.id) .then(function (response) { response.data.markHtml = response.data.mar...
2021-04-13 23:10:56
441
原创 邮件发送
import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Properties;class MailSend {
2021-04-13 17:12:10
52
原创 类加载机制
类加载机制不是一个很难的东西,说的如有错误,欢迎批评指正。什么是类加载机制你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码
2021-04-09 13:03:06
55
原创 优雅的学习泛型
小白一个 ,如有错误,请您指正批评 核心内容 记住一条 泛型就是把类型当作参数传过来 。泛型长什么样子为什么学习泛型?怎么学习泛型?(以后补充)注意的小点核心内容 记住一条 泛型就是把类型当作参数传过来 。不要觉得泛型很难,就跟你写个Hello world 一样简单,先用上,慢慢理解,用的多了就会了。泛型长什么样子优雅的非泛型,先规范一下,有了规则才会井然有序。E - Element (在集合中使用,因为集合中存放的是元素)T - Type(Java 类)K - Key(键)V - Va
2021-04-02 13:35:15
86
原创 自定义样式
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>ADVANCED CSS3 STYLING OF SELECT ELEMENT (DROP-DOWN)</title> <style type="text/css"> /* SELECT W/IMAGE */ .
2021-03-30 11:25:32
105
原创 excel下载
public String DownloadExcel() throws Exception {try {String path = request.getSession().getServletContext().getRealPath("/res/excelTemplate/excelTemplate.xlsh");System.out.println(path);// // path是指欲下载的文件的路径。// String fileName = “O
2021-01-15 14:16:49
321
原创 json.parse细节
let a = '["a","b","c"]';// √let b = "['a','b','c']";// X// 对象let a1 = '{"name":"听风是风","age":"26"}';// √let b1 = "{'name':'听风是风','age':'26'}";// Xconsole.log(JSON.parse(a))// Arrayconsole.log(JSON.parse(a1))// Objectconsole.log(JSON.parse(b))// 报错
2020-12-29 16:54:45
118
原创 excel上传核心
package com.taobao.util;/** * @Author TAO * @ClassName ExcelData * @Description TODO * @Date 2019/1/9 15:02 * @Version 1.0 */import org.apache.poi.hssf.usermodel.HSSFDataFormat;import org.apache.poi.hssf.usermodel.HSSFDateUtil;import org.apache
2020-12-29 13:43:46
51
原创 按月份展示数据
SELECTDATE_FORMAT(tr.updatetime, ‘%Y-%m’), count(1)FROMtaobao.t_change_record trwhere tr.updatetime>‘1999-01-01’ and tr.updatetime <‘2021-12-01’GROUP BY DATE_FORMAT(tr.updatetime, ‘%Y-%m’);
2020-12-18 16:25:00
216
2
原创 请注意
$.confirm({ title: '请注意!', content: '是否修改产品标签', theme: 'supervan', buttons: { "确认": function () { self.operateTagAjax(params, url); }, "取消": function () {} } });
2020-12-11 11:23:09
56
原创 excelUtil
package com.taobao.service;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import ja
2020-12-10 17:11:46
284
原创 ajax 传递数组的关键
$.ajax({ url: "insertTagidToPid.do", traditional: true, data: { tagids:chk_value }, async: false, success: function (json) { } });ajax 传递数组的关键 traditional: true,...
2020-12-01 17:16:13
70
原创 获得多选框选择的内容
var chk_value =[]; $('input[name="select"]:checked').each(function(){ chk_value.push($(this).val()); }); alert(chk_value.length==0 ?'你还没有选择任何内容!':chk_value); <input type="checkbox" checked="checked" name="select" value="1"&g..
2020-12-01 16:26:45
111
原创 js传字符串+int
html += "<li onclick='panalyse.smallPageSwitchingAndWriteDb(\""+smallPageName+"\","+json.data[i].id+","+json.data[i].categoryid+")'>"
2020-11-19 17:49:39
263
原创 上班用的环境模板
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.5.RELEASE</version> <relativePath/> <!-- lookup parent.
2020-11-05 15:10:48
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人