首页
学习
活动
专区
工具
TVP
发布

技术碎碎念

专栏作者
79
文章
97524
阅读量
21
订阅数
Java8 Collectors.toMap的坑
按照常规思维,往一个map里put一个已经存在的key,会把原有的key对应的value值覆盖,然而通过一次线上问题,发现Java8中的Collectors.toMap反其道而行之,它默认给抛异常,抛异常...
欠扁的小篮子
2018-10-09
3K0
BigDecimal精度与相等比较的坑
题意 题目链接 给出$n$个点,求出一个点使得到各个点的距离之和最小,距离为欧几里得距离 Sol 模拟退火真是玄学,我退了一上午,最后把exp函数去了就A了。 后来改了改,发现是大小符号的问题。。 但
欠扁的小篮子
2018-10-09
1K0
Mysql 时间类型精度截取的bug
mysql-connector-java版本升级出现的一次问题。涉及到了时间精度的截取和四舍五入。 首先了解一点,timestamp,datetime如果不指定精度,默认的精度是秒。 当mysql-connector-java版本<=5.1.22时,db的客户端会将Datetime,Timestamp秒以下的精度丢弃。版本>5.1.22后,秒以下的值将不会截断 db的server端会对超出精度位数的数据进行四舍五入!! 举个例子:在db建表时没指定精度时,插入精确到毫秒级别的日期 如果使用mysql-con
欠扁的小篮子
2018-07-04
2.8K0
大数据量下的集合过滤—Bloom Filter
算法背景 如果想判断一个元素是不是在一个集合里,一般想到的是将集合中所有元素保存起来,然后通过比较确定。链表、树、散列表(又叫哈希表,Hash table)等等数据结构都是这种思路,存储位置要么是磁盘,要么是内存。很多时候要么是以时间换空间,要么是以空间换时间。 在响应时间要求比较严格的情况下,如果我们存在内里,那么随着集合中元素的增加,我们需要的存储空间越来越大,以及检索的时间越来越长,导致内存开销太大、时间效率变低。 此时需要考虑解决的问题就是,在数据量比较大的情况下,既满足时间要求,又满足空间的要求。
欠扁的小篮子
2018-07-04
1.7K0
Mybatis插入数据后返回主键id
有时候使用mybatis插入数据后,需要用到记录在数据库中的自增id,可以利用keyProperty来返回,赋值给实体类中的指定字段。 单条记录插入并返回 First, if your database supports auto-generated key fields (e.g. MySQL and SQL Server), then you can simply set useGeneratedKeys="true" and set the keyProperty to the target prop
欠扁的小篮子
2018-07-04
1.9K0
GET、POST编码问题
GET请求、POST经常会出现中文乱码的问题,最好约定前后端的编码,一般为UTF-8。但是这里面也是有坑的。 后端设置编码为UTF-8的推荐方式: SpringMVC配置过滤器: <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <ini
欠扁的小篮子
2018-07-04
6300
Tomcat NIO
说起Tomcat的NIO,不得不提的就是Connector这个Tomcat组件。Connector是Tomcat的连接器,其主要任务是负责处理收到的请求,并创建一个Request和Response的对象,然后用一个线程用于处理请求,Connector会把Request和Response对象传递给该线程,该线程的具体的处理过程是Container容器的事了。 在tomcat启动过程中,会初始化Connector,并调用Connector的startInternal()方法开启Connector,开始监听、处理
欠扁的小篮子
2018-04-16
1.7K0
基于深度学习的图像风格转换
距离上次写博客已经好久好久好久了,真是懈怠的生活节奏,整天混吃等死玩游戏,前些日子做毕业设计时总算又学了点新东西。学了一点深度学习和卷积神经网络的知识,附带着详细学习了一下前段时间我觉得比较有意思的图像风格转换。毕竟是初学,顺便把神经网络方面的知识也写在前面了,便于理解。若有不对的地方的话,希望指正。        主要参考的文献有《A Neural Algorithm of Artistic Style》和《Perceptual Losses for Real-Time Style Transfer a
欠扁的小篮子
2018-04-11
1.7K0
Git总结
git在本地分为三个区域,工作区、暂存区和本地仓库,具体情况如下: git的一般操作就是本地代码的修改提交回滚,以及与远程仓库的拉取、合并、提交等。 git fetch   从远程仓库上抓取分支到本机
欠扁的小篮子
2018-04-11
6170
同步/异步,阻塞/非阻塞
什么是同步和异步 同步和异步是针对应用程序和内核的交互而言的, 同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知。 什么是阻塞和非阻塞 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值。 同步/异步与阻塞/非阻塞的区别 同步与异步:针对数据访问的方式,程序是主动去询
欠扁的小篮子
2018-04-11
3K0
读取含有BOM头的文件遇到的问题
需求是读取一个csv文件,然后解析成对应的数据结构。csv必须包含指定的某些列,通过列名header来进行校验。 解析配置文件的方法。 1 public List<QuestionData> buildConfigData(final MultipartFile file) { 2 3 CsvReader csvReader = null; 4 List<QuestionData> questionDataList; 5 try (DataInputStream inpu
欠扁的小篮子
2018-04-11
1.6K0
Tomcat启动过程源码解读
根据Tomcat源码来看一下Tomcat启动过程都做了什么 部分代码为主要流程代码,删去了try-catch以及一些校验逻辑,方便理解主流程 先来一张启动过程时序图,了解一下启动顺序 Tomcat启动
欠扁的小篮子
2018-04-11
9700
HTTPS握手
作用 内容加密 建立一个信息安全通道,来保证数据传输的安全; 身份认证 确认网站的真实性 数据完整性 防止内容被第三方冒充或者篡改 https的采用了对称加密和非对称加密。握手过程中采用非对称加密,得到一个对称加密的秘钥。数据传输的过程中,采用对称加密。 采用非对称加密比较慢,因此只在握手期间采用非对称加密,保证拿到的对称加密的秘钥的安全性,数据传输期间通过对称加密来加密,速度更快。 握手: 对称加密秘钥的生成: 握手期间,client与server两次往来。会生成三个随机数,由这三个随机数组成对称加密的秘
欠扁的小篮子
2018-04-11
7620
curl命令踩的坑
使用curl命令执行get请求,带多个参数: 1 curl localhost:8080/user/binding/query?userId=123456&wrapperId=123&from=tes
欠扁的小篮子
2018-04-11
1.8K0
@RequestParam加与不加的区别
最简单的两种写法,加或不加@RequestParam注解 1 @RequestMapping("/list") 2 public String test(int userId) { 3 4 return "list"; 5 } 6 7 8 @RequestMapping("/list") 9 public String test(@RequestParam int userId) { 10 11 ret
欠扁的小篮子
2018-04-11
1.3K0
浅谈Struts2
学过SSH框架很长一段时间了,一直没有很系统的总结一下,这里先简单谈谈Struts2。 为什么要用Struts2? 这里列举一些Servlet的缺点: 1、每写一个servlet在web.xml中都要做相应的配置。如果有多很servlet,会导致web.xml内容过于繁多。 2、这样的结构不利于分组开发。 3、在servlet中,doGet方法和doPost方法有HttpServletRequest和HttpServletResponse参数。这两个参数与容器相关,如果想在servlet中作单元测试,则必须
欠扁的小篮子
2018-04-11
7920
LeetCode-1- Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 =
欠扁的小篮子
2018-04-11
4430
LeetCode-9-Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space. 判断一个整数是否是回文数。 思路:求出数字abcd的逆序的数值dcba,如果是回文数的话,那么abcd==dcba。 时间复杂度:O(n) python代码: 1 class Solution(object): 2 def isPalindrome(self, x): 3 """ 4 :type x: int
欠扁的小篮子
2018-04-11
5560
LeetCode-15-3Sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un
欠扁的小篮子
2018-04-11
5900
LeetCode-53-Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [−2,1,−3,4,−1,2,1,−5,4], the contiguous subarray [4,−1,2,1] has the largest sum = 6. 题意:就是求最大字数组和。 思路:   DP问题,O(n)内可破   对于
欠扁的小篮子
2018-04-11
5950
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档