java学习day59-SpringAOP --Cache操作(注解)

Spring AOP中Cache操作实现 缓存场景分析 在业务方法中我们可能调用数据层方法获取数据库中数据,假如访问数据的频率比较高,为了提高的查询效率,降低数据库的访问压力,可以在业务层对数据进行缓存. Spring 中业务缓存应用实现 开启缓存配置 在项目(SpringBoot项目)的启动类上添加@EnableCaching注解,以启动缓存配置。 package com.cy; @EnableCaching @EnableAsync//spring容器启动时会创建线程池 @SpringB
分类: 其他 发布时间: 07-26 21:55 阅读次数: 0

Daliy Algorithm (字符串,暴力,数学)-- day 96

Nothing to fear 种一棵树最好的时间是十年前,其次是现在! 那些你早出晚归付出的刻苦努力,你不想训练,当你觉的太累了但还是要咬牙坚持的时候,那就是在追逐梦想,不要在意终点有什么,要享受路途的过程,或许你不能成就梦想,但一定会有更伟大的事情随之而来。 mamba out~ 2020.7.26 人一我十,人十我百,追逐青春的梦想,怀着自信的心,永不言弃! CF#658Div2-C1 分析 首先观察数据范围大概是一个\(O(n^2)\)的时间复杂度,毕竟n只有1000 我们倒着考虑,因
分类: 其他 发布时间: 07-26 21:55 阅读次数: 0

SpringBoot 入门:10 - 统一异常处理

在开发过程中,我们经常会遇到程序报错的情况,对调用方来说,这种情况下他们能看到的就是一大段错误或者是描述模糊的提示。我们希望对可预期的异常进行全局捕获,并进行适当处理,然后以清晰的说明返回给调用方。 在 Spring Boot 中我们可以使用 @Control
分类: 编程语言 发布时间: 07-26 21:38 阅读次数: 0

从linux内核理解Java怎样实现Socket通信

前言 前段时间买本书研究了 TCP/IP 通信,弄清楚了计算机之间是怎么通信的。网络通信的的基础就是 TCP/IP 协议簇,也被称为 TCP/IP 协议栈 ,也被简称为 TCP/IP 协议。 TCP/IP 协议 并不是只有 TCP 和 IP 协议,只是这俩用的
分类: 编程语言 发布时间: 07-26 21:38 阅读次数: 0

mst-闭包

function fun(n,o) { console.log(o) return { fun:function(m){ return fun(m,n); } }; } var a = fun(0); a.fun(1); a.fun(2); a.fun(3);//undefined,0,0,0 var b = fun(0).fun(1).fun(2).fun(3);//undefined,0,1,2 var c = fun(0).fun(1); c.fu
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

.net 面试宝典超多常见面试题

.NET面试宝典 目录 一、 第1阶段:HTML&c#基础4 1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 4 2. ADO.NET中的五个主要对象 4 3. 列举ASP.NET 页面之间传递值的几种方式。 5 4. 面向对象的三个特性? 5 5. C#中的委托是什么?事件是不是一种委托?事件和委托的关系。 5 6. override与重载的区别 6 7. 属性和public字段的区别是什么?调用set方法为一个属性设值,然后用get
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

P3199 【[HNOI2009]最小圈】

疑似三倍经验 因为和机房一些大佬一起做的这道题,所以emmm他们貌似也写了题解,在做这道题的时候也参照了其他大佬写的一些题解,所以如果程序有雷同请见谅(手动鞠躬) 题目也是莫名其妙地给了一大串数学式,简洁地重新说一下题目 给你一张图,图中有环,定义一个环的平均值为环的边权和÷环中点的个数,那么就应该有了一中非常暴力的思路 想办法找出来图中所有的环并求出其平均值,再比较出最小值 这个方法确实怎么想都很暴力,但是一点也不好实现,可能是我太弱,我实在想不太出来有什么算法可以找出来所有的环,所以这种思
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

【LeetCode】329. 矩阵中的最长递增路径(深入理解DFS)

题目链接 https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix/ 题目描述 给定一个整数矩阵,找出最长递增路径的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。 示例 1: 输入: nums = [ [9,9,4], [6,6,8], [2,1,1] ] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]。 示例
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

TypeScript error TS1005: ';' expected

今天你想写一个TypeScript,来练练手。初来乍到就遇到了一个问题你,搞了半天,不多说,直接上: 代码: let userName:string = '安其拉'; alert(userName); 错误: C:\Users\Panmy\Desktop\typescript\test1.ts(9,5): error TS1005: ';' expected. 坏境: window typescript版本 不管怎么update都是 Version 1.0.3.0 原因: 网上得知type
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

java基础:多线程学习笔记

多线程 基本概念 并发:指两个或多个事件在同一时间段内发生。(交替执行) 并行:指两个或多个事件在同一时刻发生。(同时执行) 进程:指一个内存中运行的应用程序,每个应用程序都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。点击应用程序,程序会从硬盘(RAM)进入到内存(ROM)中,占用一定的内存空间执行。进入到内存中的程序叫进程。 线程:指进程中的一个执行单元,负责当前进程中程序
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。 所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程。今天我们要讲的是,小白同学如何入门Java。 先
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

博客园装饰样式 博客园美化样式

博客园美化样式一条龙服务 博客园作为自己总结知识、见证自己技术成长的技术家园,就像自己的房间一样,想收拾的干净,舒服,与众不同 因为网上内容比较零散杂乱,装饰博客的时候也花了挺多时间去搜索,测试,针对自己博客布局进行了css样式的调整和js微调 本来只是想自己使用,有网友需要,就开放出来,来源于网络回归于网络,代码已经增加注释并且明确代码安放位置,希望可以帮到大家,节省各位的时间 以下代码均亲测有效且大多正在使用,效果参考我的博客 所有前端源码均来自网络,作者不详,感谢网络各位前端大神的奉献
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

CDQ 分治多维偏序问题小结

一、关于 cdq 分治 有的时候,后面的值会依赖前面的值。比如 DP 的过程中,要求出后面的 DP 值,我们就需要先求出前面的 DP 值。 这时候就需要用到 cdq 分治。这个分治的思路如下: 递归处理左边 计算左边对右边带来的贡献 递归处理右边 二、多维偏序问题 1. 最长上升子序列(二维偏序) 题目大意:有 n 个数 a1,...,an,求最长上升子序列的长度。1≤n≤105。 Solution: 设 f[i] 表示以 i 结尾的最长上升子序列的长度。 然后可以用 DP 来求解:f[i]=
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

缓存雪崩,缓存击穿,缓存穿透

缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求 如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案: 接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截; 从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间可以设置短点,如30秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个id暴力攻击 缓存击穿 缓存击穿
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

Solution -「洛谷 P6021」洪水

\(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的带点权树,删除 \(u\) 点的代价是该点点权 \(a_u\)。\(m\) 次操作: 修改单点点权。 询问让某棵子树的根不可到达子树内任意一片叶子的代价。   \(n,m\le2\times10^5\)。 \(\mathcal{Solution}\)   不考虑修改,列出 DP: \[f(u)=\begin{cases}a_u&u\text{ is leaf}\\\min\{a_u,\sum_v
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

Spring整合Mybatis(xml方式)

Spring整合Mybatis 目录 Spring整合Mybatis 导入依赖 配置文件 整合思路 xml方式配置 环境配置 数据库连接属性 bean对象 持久层 服务层接口 不使用mybatis:scan 服务层实现类 spring配置文件 使用mybatis:scan 服务层实现类: spring配置文件: 依赖 导入依赖 Spring所需依赖:spring-context、spring-aspects、aspectjrt、aspectjweaver、spring-tx、spring-jd
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

剑指 Offer 53 - II. 0~n-1中缺失的数字

题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例: 输入: [0,1,3] 输出: 2 解题思路 方式一:直接遍历数组; 方式二:使用二分法。 代码 代码一: public int missingNumber(int[] nums) { for(int i=0;i<nums.length;i++){ if(nums[i]!=i){
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

剑指 Offer 53 - I. 在排序数组中查找数字 I

题目 统计一个数字在排序数组中出现的次数。 示例: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 解题思路 使用二分法查找,找到与目标数字相等的值的最左侧位置,然后向后移动,记录目标数字的次数。 代码 public int search(int[] nums, int target) { if (nums==null||nums.length==0){ return 0; } int left = 0;
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

求解立方根 (HJ107)

一:解题思路 这道题目和 leetcode69 题,求解x的平方根有些类似。都是采用二分的思想来做,可以对比分析。 二:完整代码示例 (C++版和Java版) C++: #include <iostream> using namespace std; double getCubeRoot(double input) { double low = 0; double high = input; while ((high-low)>=0.001) {
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0

HDU1162 Eddy's picture

Eddy begins to like painting pictures recently ,he is sure of himself to become a painter.Every day Eddy draws pictures in his small room, and he usually puts out his newest pictures to let his friends appreciate. but the result it can be imagined,
分类: 其他 发布时间: 07-26 21:21 阅读次数: 0