基于Java通过文件头分析文件类型

文件如果没有后缀,可以通过此种方式识别图片的类型 import com.google.common.collect.Maps;import javax.imageio.ImageIO;import javax.imageio.ImageReader;import javax.imageio.stream.ImageInputStream;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.I...

JDK8源码解析-深入探索String内部变量(二)

源码解析基于jdk1.8.0_261进行分析,如果各位读者的jdk是该版本之前或之后的,可能与本文有所出入,但终究是一脉相承,万世一系 前言 为了贯穿上下文,在阅读此篇文章之前,推荐各位看客优先看下 JDK8源码解析-String-修饰符及接口实现(一) 本次我们要讲的是String类的成员变量,因篇幅较广,构造函数我们放在下一期讲解,本期让大家知晓在java中如果new String() 或者定义一个String类型的常量,jvm在栈,堆及常量池中的使用 成员变量 在讲解之前,我们先粘个截图,让大家看下,jdk8 中String类的成员变量 从截图中我们可以看出,目前String类中共定义了...

JDK8源码解析-String-修饰符及接口实现(一)

源码解析基于jdk1.8.0_261进行分析 前言 String类是java出山时,就带出来的兄弟,在1.0版本,就有String类的出现,但并没有现在的Api丰富,从jdk1.0(1996)到jdk1.8(2016)用了18年的时间,廉颇虽老尚能战也 String是Java语言的核心类,位于rt.jar下java.lang包中,它提供了字符串的比较、查找、截取、大小写转换等操作;Java语言为"+"连接符(字符串连接符)以及对象转换为字符串提供了特殊的支持,字符串对象可以使用”+"连接其他对象 如果饶有兴趣的读者,可以看下String类注释,讲述了S...

Tomcat 配置 G1垃圾回收器

我是linux机器 去tomcat下找到catalina.sh 添加以下语句即可 JAVA_OPTS="-server -XX:+AggressiveOpts -XX:+UseG1GC -XX:ParallelGCThreads=8 -XX:MaxGCPauseMillis=200"

清空mac dock图标缓存(修改mac app 图标)

我这边安装了两个不同版本的idea,因为两个idea 开发的工程不同 一个是公司的,一个是个人开源项目的开发,平时点击老师点击错误,如图 我这边想要修改其中一个app的图标 这就需要修改下缓存文件,从图中看 在Applications中 我这边的图标已经更换为了github的logo ,打开查看包内容 (shhow package contents) 将Resources目录下的 icns文件 替换成你想要换成的图片, icns图片网上可以自己找一下 或者自己转换一下都可以 更换完后重启电脑或者重启Finder 和Launchpad 都可以 killall Dock killall Finde...

docker  centos:7 安装 ChatterBot 聊天机器人

docker  centos:7 安装 ChatterBot 聊天机器人参考资料:https://segmentfault.com/a/1190000015628625https://chatterbot.readthedocs.io/en/stable/setup.htmlhttps://github.com/gunthercox/ChatterBot.git  备份:https://github.com/cuiyongxu/ChatterBothttps://github.com/explosion/spacy-models/releases  备份:http...

微信扫一扫问题总结

个人订阅号自定义菜单栏不能绑定第三方外链网站解决方案 1、订阅号通过appid绑定企业认证小程序 2、跳转到uniapp制作的默认页面,附带参数 pages/index/index?url=c1 3、uniapp页面跳转到第三方页面 index.vue <template> <view class="container"> <content-main v-if="configstate == 0" :list="list"> </content-main> <search-in...

JDK1.8源码阅读(1):java.lang.Object

一、hashcode() 1、hashCode方法返回值是int类型的散列码,对象的散列码是为了更好的支持基于哈希机制的java集合类,例如Hashtable,HashMap,HashSet。如果重写equals方法,也要重写hashCode方法。 2、hashCode方法的一致约定要求 (1)在java应用的一次执行过程中,对于同一个对象的hashCode方法的多次调用,他们应该返回同样的值(前提是该对象的信息没有发生变化); (2)对于两个对象来说,如果使用equals方法比较返回true,那么这两个对象的hashCode值一定是相同的; (3)对于两个对象来说,如果使用equals方法返...

CentOS下安装python-pip

安装python pip 的时候,提示: sh-4.2# yum -y install python-pipLoaded plugins: fastestmirror, ovlLoading mirror speeds from cached hostfile * base: mirrors.neusoft.edu.cn * extras: mirrors.neusoft.edu.cn * updates: mirrors.neusoft.edu.cnNo package python-pip available.Error: Nothing to do 出现以上提示,优先执行按照顺序执行以下...

Ubuntu无法找到add-apt-repository问题的解决方法

在docker中使用16.04Ubuntu镜像 ,想要安装python3 ,添加add-apt-repository报错 这就需要安装 python-software-properties和software-properties-common apt-get install python-software-propertiesapt-get install software-properties-common 安装完后 在执行 add-apt-repository ppa:jonathonf/python-3.6 即可

docker 安装postgres

docker的安装先忽略了,可以bd下,安装docker后,先下载镜像 下载镜像 docker pull postgres:12.1 下载后,基于此镜像启动一个容器 docker run --name postgres -e POSTGRES_PASSWORD=postgres -p5432:5432 -d postgres:12.1

Mac OS psql: command not found 使用 psql 命令报错,psql命令不存在

打开一个命令窗口 输入一下命令,可以看到目录下对应版本的pg,我们进入这个目录下 ls /Library/PostgreSQL 查看目录下的文件,安装的每一项都是正确的,那我们在准备执行接下来的操作 执行pwd命令, 将路径复制一下,并保存到本地的环境变量中,即可 export PATH="/Library/PostgreSQL/11/bin:$PATH"

教育学热点

复试期间,网上找的一些热点问题,有一些是学姐给的参考资料,也是未来教育技术的趋势和方向,以及人工智能在未来教育方向的应用; STEM 1.概念 STEM 是科学(Science)、技术(Technology)、工程(Engineering)和数学(Mathematics)四门学科的简称,强调多学科的交叉融合。STEM 教育并不是科学、技术、工程和数学教育的简单叠加,而是要将四门学科内容组合形成有机整体,以更好地培养学生的创新精神与实践能力。 2.特点 融合的 STEM 教育具备新的核心特征:跨学科、趣味性、体验性、情境性、协作、设计性、艺术性、实证性和技术增强性等。 (1)跨学科:跨学科意味着...

idea 远程debug

一般情况下,我们的服务都是部署到公用服务器上面的,通常我们查问题 都是到服务器上看日志,步骤确实繁琐了点,但是也挺有效,不过,有事不想费那个劲,一点点看日志,没有debug来的快,这就需要我们远程debug,因为使用的ide是 IntelliJ IDEA 这里我只讲讲如何使用idea远程debug 1. 需要在你的远程服务器上添加一下jvm参数,并重启你的服务,其中address端口可以跟你自己的要求定义 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 2. 保证你本地的代码和服务上的代码是一致的 3...

Mongo创建过期索引以及为何创建了过期索引不生效?

首先描述下业务场景 用户下单后,但是一直未支付,需要1天之后,自动删除该临时订单,这种功能有三种实现方式: 1) 是写个定时器,每分钟扫一下临时订单表,如果存在则根据创建时间计算下是否达到了24H 2) 每创建一个临时订单,则需要向另外一张表中写入一条数据,记录这比临时订单要删除的时间,还是定时器,扫这个时间,如果要删除的时间和当前时间大于这个时间,则删除掉临时订单 3) 利用数据库的过期索引,自动删除 当然对比三种方案,还是第三种比较适合且比较简洁,不需要自己开发大量代码去维护一堆要删除的数据 数据源是mongo就不用说了,我们先写个简单的例子,来讲解下 1. 首先创建collection ...

Nginx反向代理后获取的IP是127.0.0.1

我的服务是通过java写的,当然获取方式也是通过java来获取,当然其他服务获取的原理是一样的 都是从header头中获取这个ip 如果想看源代码的实际运用,可以移步到本博客的开源代码中去查看,在AccessStatisticInterceptor中会打印一下当前访问的远程ip是谁,最核心的原理,也就是从头信息中获取x-forwarded-for这个key 首先是nginx的配置 server { listen 80; server_name www.4klike.com; location / { proxy_pass http://4klike_01; ...

华为云Maven仓库、阿里云Maven仓库、腾讯云Maven仓库、网易云Maven仓库

最近整理了下最近经常使用的maven仓库镜像,目前找了3个国内对外开放的Maven仓库,分别是华为云,阿里云,网易云和腾讯云,先后顺序没啥意义哈 配置maven大家应该都知道如何配置吧,conf下的settings.xml 我一般都是复制好几个文件,用哪个,就删除原来的,用最新的顶替,如图,当然你可以将所有云的地址都写到mirrors中,这个也无所谓了 打开settings.xml,找到mirrors标签,在其中添加mirror,如图,当然可以添加多个 以下为所有云maven的地址 Maven 华为镜像仓库地址 仓库说明地址:https://mirrors.huaweicloud.com/ ...

解决 413 Request Entity Too Large(请求实体太大)

上传文件时 老提示错误,后来看了下请求 提示413 原因是我上传的文件太大了,因为用了ng转了下,ng设置最大上限为10m,但是照片 已经大于10m了,所以提示这个,我们只需要将client_max_body_size设置的大一些就可以了,记得重启ng

Mac 启动台(Launchpad)修改行数和列数

//killall Dock 可以执行完两条 defaults *** 后 在同一执行也可以// 设置一页显示多少行defaults write com.apple.dock springboard-rows -int 8//重启启动台生效killall Dock// 设置一页显示10列defaults write com.apple.dock springboard-columns -int 10//重启启动台生效killall Dock 设置一页显示10列 defaults write com.apple.dock springboard-columns -int 10 输入以上命令,执行...

RESTEASY003210 页面404,且IDEA 中类名前面有个黑色的叉

今天在开发中出现一个神奇的问题, 通过resteasy搭建的框架,同一个方法,同样的路径,在AController中可以正常访问(path=/A/retry),但是在BController中就无法访问(path=/B/retry),方法都一行,只是Controller的路径不一样而已,千调万调,就是一直404,后来发现了一个小问题,就是这个类下的所有接口我都无法访问,且都提示404,这就得说道说道了,然后各种找原因,最后,发现这个类上面有个叉 如图,就它自己有个X,其他的controller都能正常访问,就这一个不好用 解决方案: 打开属性,根据以下截图,将后面的类删除了就可以了

Popular Articles
Popular Tags
Java(22)
Recently published