- 博客(67)
- 收藏
- 关注
原创 ConcurrentHashMap详解 什么时候CAS什么时候synchronized
concurrenthashmap源码 synchronized cas 乐观锁 悲观锁
2024-06-03 10:27:01
899
原创 552. 学生出勤记录 II 超简单的理解思路 击败88.57
以n=4为例子 :那么对于第1个元素,可以是P可以是L,如果是P就好办了(直接dp[3]),如果是L呢?P[]: dp[3] LP[] :第1个是L,第2个可以是P,那么也好办,直接dp[2],因为后面就2个元素 LLP[] :第2个如果是L呢?也好办,第3个一定是P,直接dp[1]。好了,已经发现规律了,dp[n]=dp[n-1]+dp[n-2]+dp[n-3];大类只有2种情况 (1)无A :dp[n]种 . (2)有1个A: d[j-1]*dP[n-j],注意j=1,2,3,…
2024-01-19 16:22:44
479
原创 哈希函数碰撞求法(转载)
红框中就是论文中经常直接不加任何解释给的值,可真是找苦了我,百度根本找不到,google随手一搜,第一个就是最详细的讲解。上面就是最经典的生日攻击计算过程。
2023-03-21 19:09:58
215
原创 C++primer plus 第二天 第4章 符合类型 指针
可以是常量,也可以是常量表达式(8*sizeof(int))。创建了一个指针p,分配了指针的空间,但是没有分配指针之后要存储的地址的空间啊!结尾用空字符’\0’结尾的char数组,'\0’的ASCII码为0。c++允许指定占用特点位数的结构成员,每个成员都被称为。如果name是一个变量,则&name代表它的地址。常识:C++的数组越界不会报错,会给出异常的值。同时完成结构体定义结构和创建结构变量的工作。这种表示太麻烦了,简单写法如下,下面的叫。cin每次值读取一个单词!键盘输入string!
2023-02-16 01:58:34
243
原创 The connection property ‘zeroDateTimeBehavior‘ acceptable values are: ‘CONVERT_TO_NULL‘, ‘EXC
1、使用了8.0以上版本的JDBC driver for MySQL,降回5.x版本。2、不对JDBC driver for MySQL降级。修改数据库连接字符串,添加serverTimezone属性,然后删除zeroDateTimeBehavior=convertToNull(注意:我看其他人都不删除zeroDateTimeBehavior属性,但是我删了才有用)jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3
2022-03-30 15:56:43
2437
原创 用web3.js与智能合约交互
工具:Truffle v4.0.4ganache-1.1.0-beta(ui界面版)nodejs 8.9.4npm 5.6.0web3 1.0.0思路:1、先用truffle创建一个以太坊智能合约项目,部署在ganache测试网络。2、用npm创建另外一个项目,使用web3和智能合约交互创建truffle项目:1、mkdir truffle_test & cd truffle test2、初始化:truffle init3、编写智能合约,在contracts文件夹下新建智能合约
2021-12-05 19:29:15
2898
原创 SpringMVC 理解Rest风格请求
**简介:**rest是一个url请求风格,基于这种风格设计请求的url。没有rest的话,原有的url设计如下:http://localhost:8080/user/search.action?id=3url中定义了动作(操作),参数的值具体锁定到对应的参数有了rest之后:rest认为互联网中的所有东西都是资源,包括参数,既然是资源,那么就都会有一个唯一的uri代表它,示例如下:http://localhost:8080/user/3 它代表的就是id为3的那个用户记录(资源)根据请求方
2020-11-27 20:19:29
173
原创 SpringMVC 获取参数的方法
一、简单数据类型方案一:使用request、response、session获取参数在SpringMVC中使用原生的servletcontroller:jsp页面:方案二:接收简单数据类型(八种)jsp页面:当handle03()的参数名称和jsp页面中传过来的参数名称一致时,就会将它自动匹配赋值。我们也可以使用@RequestParam注解进行手动映射,这样就不需要名称一致了。二、包装数据类型POJO传统servlet获取一个表单数据的方式:new一个User类以后再逐个获取
2020-11-27 20:04:31
368
原创 idea右边找不到maven窗口不见了
方案一:首先idea自带了maven控件,不像Eclipse还需要下载控件,如果你以前有maven在右边,出于某种原因,消失找不到 了,你可以试试我写的方法。方法1.你点击一下你idea界面最左下角的那个小框,maven应该从里面找到方法2.点击菜单栏View->Tool Windows->Maven projects方法3.点击菜单栏Help->Find Action(Ctrl+Shift+A),输入Maven projectshttps://blog.csdn.net/hu
2020-11-25 11:39:02
87306
33
转载 Spring AOP术语:连接点和切点的区别。
定义:1.连接点(Join point):连接点是在应用执行过程中能够插入切面(Aspect)的一个点。这些点可以是调用方法时、甚至修改一个字段时。2.切点(Pointcut):切点是指通知(Advice)所要织入(Weaving)的具体位置。理解:连接点:连接点是一个虚拟的概念,可以理解为所有满足切点扫描条件的所有的时机。具体举个例子:比如开车经过一条高速公路,这条高速公路上有很多个出口(连接点),但是我们不会每个出口都会出去,只会选择我们需要的那个出口(切点)开出去。简单可以理解为,每个出口
2020-11-23 15:24:29
6053
3
原创 控制反转和依赖注入 - 转载
博客一:https://blog.csdn.net/sinat_21843047/article/details/80297951博客二:通过接口来理解依赖注入与控制反转https://www.cnblogs.com/zhaopei/p/5078539.htmlDAO:public class DaoMySql { public int add(string str) { //...省略具体实现 return 1; }
2020-11-22 20:27:58
138
转载 爬虫-Referrer
原理我们知道,referer的作用就是记录你在访问一个目标网站时,在访问前你的原网站的地址,比如用Chrome从知乎的某个板块到另外一个,那么你在的这个网站就是原网站,按F12,选中Network选项,从页面内进入一个网站,可以从这个网站的header即头信息中看到referer就是原来的那个网站。根据referer的作用可以知道,把网页地址复制到浏览器新页面的地址栏里,进行直接访问,这样的话就不会有referer,同样地,浏览器刷新也不会有referer。referer的作用由于referer是请
2020-11-15 23:01:15
3748
原创 BFS 遍历迷宫 JAVA 输出所有路径
import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;public class MiGong { public static void main(String[] args) { int[][] A={ {0,0,1,0}, {1,0,1,0},.
2020-11-03 20:42:50
1436
原创 蓝桥杯 日志系统 JAVA
8、标题:日志统计小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id表示在ts时刻编号id的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K个赞,该帖就曾是"热帖"。给定日志,请你帮助小明统计出所有曾是"热帖"的帖子编号。【输入格式】第一行.
2020-10-09 11:06:33
244
原创 蓝桥杯 灵能传输
【输出格式】输出T 行。每行一个整数依次表示每组询问的答案。【样例输入】335 -2 340 0 0 031 2 3【样例输出】303【样例说明】对于第一组询问:对2 号高阶圣堂武士进行传输操作后a1 = 3,a2 = 2,a3 = 1。答案为3。对于第二组询问:这一组高阶圣堂武士拥有的灵能都正好可以让他们达到最佳战斗状态。【样例输入】34-1 -2 -3 742 3 4 -85-1 -1 6 -1 -1【样例输出】574每次找出绝对值最大的数.
2020-10-07 12:22:52
1245
3
原创 静态代理模式 AOP
为什么要学代理模式?因为这就是SpringAop的底层 【SpringAop 和 SpringMVC面试必问】代理模式的分类:静态代理当有新的需求时,尽量不改变底层代码,为要改变的类增加一个代理类,它实现要改变的类的所有功能并在它的基础上增加新的功能,通过组合或者继承实现。动态代理...
2020-10-05 19:23:33
195
原创 hasnext()用法
Scanner sc = new Scanner(System.in);此句 表示从控制台获取数据,sc.hasNext() 表示你是否有输入数据,while语句块 表示当你输入数据的时候,就执行输出sc.next()(输出内容)所以只要你输入数据了,它就可以执行,所以后台只是开了一块内存,一直未关闭,不算死循环。这是yangxue_mifen博主写的,自己看了看,不是很懂,于是自己调试了一下。例子1:public class _07_错误票据1 { public static voi
2020-09-25 19:19:25
31450
1
原创 Bean作用域
1、singleton单例模式bean的作用域默认就是单例模式,也就是不同的地方拿到的bean都是同一个bean//beans,xml<bean id =user class="com.user" c:age="18" c:name="龙" scope="singleton"/>//test类User user1 = context.getBean("user");User user2 = context.getBean("user");实际上,user1与user2是相等的.
2020-09-21 20:11:47
158
原创 Spring简介
课程考点:Spring中 BeanFactory和ApplicationContext的区别Bean的作用域一、Spring简介1.1、优点Spring是一个轻量级的、非入侵式的框架。控制反转(IOC),面向切面编程(AOP)。支持事务的处理,对框架整合的支持。总结:Spring就是一个轻量级的控制繁殖(IOC)和面向切面编程(AOP)的框架。1.2、组成(七大组件)1.3、拓展Spring Boot一个快速开发的脚手架。基于Spring Boot可以快速的开发单个微服务。
2020-09-21 20:11:27
3190
1
原创 3.依赖注入-注入方法
1.1、构造器注入也就是在xml中通过构造函数来注入,实际上有好几种方法,这里仅举出一种用于参考<bean id="exampleBean" class="examples.ExampleBean"> <constructor-arg name="years" value="7500000"/> <constructor-arg name="ultimateAnswer" value="42"/></bean>1.2、Set方式注入
2020-09-21 20:10:59
180
原创 c# 两个窗体之间跳转
之前自己试了下,发现窗体1跳转至窗体2时,有两种情况:打开窗体2后,窗体1仍然存在。 在从窗体2打开窗体1,窗体2仍然存在,有两个窗体1。 出现这样的原因是因为打开另外一个窗体时没有关闭原来的窗体。从窗体1打开至窗体2后, 关闭窗体1,但是发现关闭窗体1就会关闭整个程序,这是因为 Application.Run(new Form1());这句代码 ,意思是一旦关闭Form1 就会关闭整个程序。首先 program.cs 中[STAThread]static void Main(){
2020-05-24 13:14:29
14298
4
原创 C#中FormClosing与FormClosed的区别详细解析
C#中,当窗口关闭时,它会引发两个事件:Closing 和 Closed。Closing 在窗口关闭之前引发,它提供一种机制,可以通过这种机制来阻止窗口关闭。 系统会向Closing 事件处理程序传递一个 FormClosingEventArgs e,该参数实现 Boolean Cancel 属性,将该属性设置为 true 可以阻止窗口关闭。private void frmMain_FormClosing(object sender, FormClosingEventArgs e) {
2020-05-24 13:04:41
3456
原创 c#求最大公约数的最小公倍数
using System;namespace ConsoleApp1{ class Program { //获取最大公约数 static int GetLarge(int n1, int n2) //先用辗转相除法求最大公因数 { int max = n1 > n2 ? n1 : n2; int min = n1 < n2 ? n1 : n2; int t
2020-05-24 10:25:58
657
原创 JDBC原理以及使用Statement访问数据库
一、介绍JDBC: Java DateBase Conectivity 可以为多种关系型数据库DBMS 提供统一的范围跟方式,目的就是用Java来操作数据库。JDBC API:提供各种操作访问数据库的接口, 常见的:Conection: 连接数据库Statement 发送SQL语句,增删改查PreparedStatement: 调用数据库中的 存储过程/存储函数ResultSet: 返回的结果集JDBC DriverManager:管理不同的数据库驱动。各种数据库驱动程序:由
2020-05-12 10:50:58
387
原创 JAVA连接Sql Server
一、SQL Server身份登录验证设置首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式。如果在安装时选用了后者,则需要设置一下:先用windows账户登录进去,然后选择LAPTOP,右键属性(名字可能不同)选择安全性,设置相关参数,点击确定找到安全性–登录名–sa用户,右键–属性, 设置密码。状态选项栏中选择授予和启动sqlserver从2008后保存修改的数据库表都会提示阻止修改,只需要在“工具”——设计
2020-05-11 16:16:03
2703
原创 C# string和String的区别
MSDN中解释:string is an alias for String in the .NET Framework,翻译过来就是:string是String的别名而已。string是c#种的类,String是Framework的类。C# string 映射为 Framework的 String。如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方
2020-05-11 11:17:13
191
原创 网关、默认路由、特定选择路由
网关指的是一个逻辑概念,不具体指明是哪一类的产品,只要连接了两个不同的网络的设备都可以叫做网关。比如说交换机、路由器都可以称为网关。网关地址默认网关:...
2020-04-28 23:28:34
12952
5
原创 Servlet简单登录程序基本使用
文件位置:D:\jee-2019-09\eclipse\workspace\Servlet_Study2登录界面,login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html>...
2020-04-27 21:23:37
174
原创 SQL语句 创建表、模式、索引
一、数据定义语句一、 数据定义:操作对象创建删除修改模式CREATE SCHEMADROP ~表CREATE TABLEDROP ~ALTER TABLE视图CREATE VIEWDROP VIEW索引CREATE INDEXDROP INDEXALTER INDEX一个数据库中可以建立多个模式,一个模式下通常包括多个表...
2020-04-10 11:16:45
6988
原创 C++模板函数与模板类
一、模板函数先来看一下一个交换两个int类型的参数的函数 void swap(int& x , int& y){ int temp = x; x = y; y = temp; }如果我们需要去交换floats , string 或 double类型的数据呢?显然,交换不同的参数,函数内部的结构时完全一样的,仅仅时改变一下数据的类型即可。这个时候我们就可以用到模...
2020-04-08 18:12:23
176
原创 IO流-字符流、字节流等
文章的许多内容来源于:- https://blog.csdn.net/Chianz632/article/details/79946851- https://blog.csdn.net/jediael_lu/article/details/26813153- https://www.cnblogs.com/liyanyan665/p/11198605.htmlJAVA中可以分为两种流:字节...
2020-04-08 11:02:33
132
原创 随笔五---对象赋值
一、对象的赋值一个对象被初始化之后再做赋值运算就是对象的赋值,如果对象在做初始化时,进行"="号运算实际上是调用拷贝构造。A a2;A a = a2; //拷贝构造a = a2; //对象的赋值两个对象之间的赋值,只会让这两个对象数据成员相同,而两个对象仍然是相互独立的。对象赋值是通过赋值运算符实现的。如果程序员没有重载“=”运算符,那么编译器会创建一个默认的赋值运算符。默...
2020-04-06 18:54:46
1507
原创 C++ 随笔三
一、静态变量一、静态全局变量先来补充一下C++内存分配的几种情况:代码区、全局数据区、堆区、栈区静态全局变量在全局数据区分配内存;未经初始化的静态全局变量会被程序自动初始化为0静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;int g_global 在File1中, File2中添加 extern int g_global;字段就可以使用File1...
2020-04-04 22:50:16
103
原创 C++ 随笔二 拷贝构造 虚函数(多态)引用
一、C++为何复杂C++提供了更多的内存模型。第一种就是提供了太多的可以放对象的地方,如堆栈中、栈中、全局数据区里面。第二种就是提供了太多可以访问对象的方式,直接访问、指针访问、引用访问。JAVA的内存模型要简单很多,所有对象都只能放在堆里面,然后只有一种方式去访问那个对象,就是通过引用。(当然,也可以说成是指针。但因为JAVA只有一种方式去访问,所以就把星号去掉,然后JAVA开发者和别人说...
2020-04-01 22:59:55
818
原创 c++随笔一
一、c++中类中定义的变量和成员函数class A{public: int i; void f();}void A::f(){ cout<<i; //虽然f()不属于a,但是当a调用函数时, //函数内部使用的成员变量都是a的,所以这里输出10; i=20;}int main(){ A a; //i属于a a.i=10; a.f(); }...
2020-03-31 21:45:21
222
原创 存储系统---虚拟存储器
引言:前面讨论了主存和告诉缓冲存储器,那么关于三级存储层次结构中最后一个内容就只剩下辅存了。这次要讲的不是辅存,但是虚拟存储器却必须在辅存的基础是上实现,而关于辅存相关的内容将在后续的课程中展开。主要内容:虚拟存储器的基本概念虚拟存储器的虚地址变换替换算法一、什么是虚拟存储器虚拟存储器只是一个容量非常大的存储器的逻辑模型(无法使用物理存储单元的地址来检索该空间,它需要自己的地...
2020-03-25 18:51:20
1369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人