Java

js -- 跨域问题

js -- 跨域问题     前言   出于浏览器同源策略的影响,浏览器会阻止一个域的 js 脚本和另一个域的内容进行交互,因此产生了跨域问题,该问题也经常在面试和开发中遇到,本文来总结一下相关知识点。 正文   1、什么是同源策略   因为浏览器出于安全考虑,存在同源策略,就是说如果协议、域名、端口号有一个不同就产生了跨域,不同域之间的资源是不能交互的,比如:Ajax

Fastjson反序列化漏洞

Fastjson反序列化漏洞 目录Fastjson反序列化漏洞一、Fastjson介绍1、什么是fastjson?2、fastjson的优点二、影响范围:三、漏洞原理四、漏洞利用五、漏洞发现六、漏洞修复 一、Fastjson介绍 1、什么是fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSO

mybatis前言

一切都很简单,基于我们的业务开发,每天都在copy不求甚解。 技术一直在演变,而我们永远用着曾今用过的知识点。 因为碎片化,我们不关注整体,没有系统的汇总,不知道有没有更优雅的迭代。 像极了从远古流传的 1=1,原来还有标签,很简单因为没见过所以不知道。 就像Java中的迭代删除,很简单大家还在用for -- 或者迭代器,却不知道removeIf。 AIO,NIO早已盛行,而从远古走来的我们,还

【Docker】镜像管理

一、搜索镜像 1、在官方网站搜索镜像 Docker 官方镜像仓库:https://hub.docker.com/     2、docker search 搜索镜像  Usage: docker search [OPTIONS] TERM Search the Docker Hub for images Options: -f, --filter

upsert部分hudi表字段报错“Expected table’s schema”

当 insert into 一个 hudi 表时,如果只指定了部分字段,则运行时报错“Expected table’s schema”: java.sql.SQLException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.apache.hudi.exception.HoodieExcepti

mybatis控制动态SQL拼接标签之choose标签

mybatis控制动态SQL拼接标签之choose标签 有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。 MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,如果有一个成立,则choose结束。 当choose中所有when的条件都不满则时,则执行 otherwise中的sql。 类似于Java 的switch 语句,choose为switch,when为ca

mybatis控制动态SQL拼接标签之foreach标签

mybatis控制动态SQL拼接标签之foreach标签 foreach标签主要用于构建in条件,可在sql中对集合进行迭代。也常用到批量删除、添加等操作中。 这个标签在实际业务中非常常用,当然运维旧项目也会发现,有些坑,用java循环执行sql来表示批量插入。 属性说明: collection:collection属性的值有三个分别是list、array、map三种,分别对应的参数类型为:Lis

mybatis定义sql语句标签之insert标签

这是非常核心的一个标签,CURD是mybatis的核心功能。 insert元素相对于select元素要简单很多,mybatis会在插入之后返回一个整数,表示插入成功后插入的条数。 真实项目中,使用最多的一个点要注意,在插入过程中返回一些自动主键。 因为这个主键,在同一个事务中,还有其它用。例如级联。 属性介绍 属性 说明 id 可以理解为Mybatis执行语句的名称,与Mapper接

每日总结-23.4.27

<%@ page import="wangzhan.Thesql" %> <%@ page import="wangzhan.Pd_P_assignment" %> <%@ page import="wangzhan.Pd_S_assignment" %> <%@ page import="wangzhan.Pd_lesson" %> <%@

开启多线程,shiro报错:UnknownSessionException: There is no session with id

开启多线程,shiro报错:UnknownSessionException: There is no session with id. 如下所示: org.apache.shiro.session.UnknownSessionException: There is no session with id [c8c5715ea6524f08b2ebe9fcb0566e20] at or

CountDownLatch源码分析

1、CountDownLatch介绍   CountDownLatch让一个或多个线程等待其他线程执行完成后再执行。在创建CountDownLatch对象时,必须指定线程数count,每当一个线程执行完成调用countDown()方法,线程数count减1,当count减到0时,await()方法就不再阻塞。 2、CountDownLatch使用 1 import java.util.conc

程序员面试金典---17

堆箱子 思路: 首先进行排序,规则为: 如果宽度不相同,按照宽度从小到大排序。 如果宽度相同,深度不相同,按照深度从大到小排序。 宽度和深度都相同,高度从大到小排序。 采用动态规划进行求解: 计算以当前盒子为顶部盒子时的最大堆叠高度。 从前往后遍历每一个盒子,对于每一个盒子i,遍历i之后的所有盒子j,如果盒子能够放在盒子i上方,则更新盒子j的堆叠高度为dp[j]=max(dp[j],

Java-Day-16( 常用类 )

Java-Day-16 常用类 包装类 ( Wrapper ) 针对八种基本数据类型定义相应的引用类型 —— 包装类,有了类的特点,就可以调用类中的方法 基本数据类型 包装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float

Redis基础 - 01概述

  一、Redis概述 1.1 Redis介绍 Remote Dictionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 从2010年3月15日开始,Redis

进程和线程

多线程的内容很重要; 为了面试,时间不充裕就背,学习最重要没必要求大求全,把握核心和重点就OK;效率最高 时间充裕除了背,需要慢慢自己做实现去理解; 从大厂的一则招聘谈起: Java基础扎实,熟悉JVM、多线程、集合等基础,熟悉分布式、缓存、消息、搜索等机制 三年以上Java开发经验,熟悉Spring、MyBatis等框架 对于压榨CPU性能有浓厚兴趣! 具有一定项目规划和决策能力,善于捕捉

Semaphore源码分析

1、Semaphore介绍   计数信号量 - Semaphore,常用来限制访问资源的线程数量。优点类似限流中的令牌桶算法,只有拿到信号量的线程才能执行,与令牌桶算法未拿到令牌不处理请求不同的是,在Semaphore中未拿到信号量的线程会阻塞等待,直到有某个线程释放了持有的信号量。 2、Semaphore使用 1 import java.util.concurrent.Semaphore;

<<  <  1343  1344  1345  1346  1347  1348  >  >>