自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joker的博客

学习笔记,如果对你有帮助,那我很开心

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL 学习笔记之解码还须编码人 03

一、字符集与校对规则字符集字符集指的是某个字符范围的编码规则。 用来建立字符与二进制数据的映射关系 。字符映射成一个二进制数据的过程也叫做编码一个二进制数据映射到一个字符的过程叫做解码查看字符集命令:SHOW (CHARACTER SET|CHARSET)校对规则校对规则 是针对某个字符集中的字符比较大小的一种规则。二进制大小比较规则,简单两个字符串可用二进制编码的大小直接比较大小写敏感比较规则,若遇到复杂的,大小写敏感的字符串需要相应复杂的规则查看校对规则命令:SH

2021-06-15 22:09:08 221

原创 MySQL 学习笔记之命令与变量 02

前言:继续肝正文:在命令行上使用选项在启动服务器程序的时候就禁止各客户端使用TCP/IP网络进行通信,可以在启动服务器程序的命令行里添加skip-networking启动选项mysqld --skip-networking或mysqld --skip_networking若想改变表的默认存储引擎的话,可以这样写启动服务器的命令行:mysqld --default-storage-engine=MyISAM在启动服务器程序的命令行后边指定启动选项的通用格式就是这样的:--启动选项

2021-06-14 19:46:11 231

原创 MySQL 学习笔记之初步了解 01

前言:在新公司只能通过堡垒机链接数据库,少了Navicat 的图形化,略微不习惯正文:一、MySQL客户端程序参数名含义-h表示服务器进程所在计算机的域名或者IP地址,如果服务器进程就运行在本机的话,可以省略这个参数,或者填localhost或者127.0.0.1。也可写作 --host=主机名的形式。-u表示用户名。也可写作 --user=用户名的形式。-p表示密码。也可写作 --password=密码的形式。客户端链接服务端例子 mysql -h

2021-06-14 14:44:26 239 2

原创 2021年某公司的面试-智力题

一、有一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什么不同,小孩在没生出来之前,没人知道他是什么颜色的眼睛,这个村子中间有一个广 场,是村民们聚集的地方,现在这个村子只有三个足够聪明的人,分住三处。在这个村子,有一个规定,就是如果一个人能知道自己眼睛的颜色并且在知道后的任意一天晚上自杀的话,他就会升入天堂。但这三个人都希望另外两个不能进入天堂(当然他自己也知道其他人不希望自己进入天堂),所以都不会用语言告诉对方眼睛的颜色,也不会用任何方式提示对方的眼睛是什么颜色,而且也不能用镜

2021-01-27 22:24:08 368

原创 同事开发中遇到 mybatis #{} 与 ${}的小问题

前言:同事开发遇到了一个问题,我好奇凑过去看了。问题:有个特别的需求,需要从 一条 SQL 中查出一个值 NameSQL1 例如: Select Name From Where age =18 ,而这个值是个表名取出这个 Name 传入到另一条 SQL 语句中,假设这个 Name = “table1”SQL2 :Select * From dbo.table1 Where age =18 ,按照这样的设想,在 mybatis 中,写的语句如下Select * From dbo.#{Name

2021-01-11 19:14:58 223

原创 Java 多线程之线程状态转换(十五)

假设有线程 Thread t1、NEW ==》 RUNNABLE当调用 t.start() 方法时,由 NEW --> RUNNABLE2、RUNNABLE 《==》 WAITINGt 线程用 synchronized(obj) 获取了对象锁后调用obj.wait() 方法时,t 线程从RUNNABLE --> WAITING调用 obj.notify() ,obj.notifyALL () , t.interrupt() 时竞争锁成功, t 线程从 WAITING .

2021-01-10 22:03:53 90

原创 好不容易摆脱了八百字作文,你现在却要我写博客?

为什么要写博客?我忘记了 2017 年那个月注册的博客,但我记得那段时间还用 Hexo + Github 搭建过,可好玩了,后来懒得维护就废弃了,用回 CSDN 。其实一开始我并不知道什么是博客,更不知道为什么要写它,好不容易摆脱了高中 800 字作文的噩梦。这一切得源于 2017 年去外婆家做客的那一个下午说起。逢年过节得去亲戚家里串串门嘛,那一年刚好我哥哥的一个同学也在那边,舅舅们聊起我大学专业的事情,我说是软件工程的,表哥的同学刚好也是这个专业,突然有种有话题聊起来了...

2021-01-09 13:50:24 306 4

原创 Java多线程之 Park和Unpark(十四)

介绍Park 和 Unpark 均是 LockSupport 类中的方法//暂停当前线程LockSupport.park();//恢复某个线程LockSupport.unpark(暂停线程对象);先 park 再unpark Thread thread = new Thread(() -> { System.out.println("start....."); try { Thread.sleep(

2021-01-05 23:57:50 6052

原创 Java 封装请求接口,报错 406 Not Acceptable 或 <302,<html><head><title>Object moved</title></head><body> <h2>O

前言:在公司写一些请求封装的接口,按照以往的 Ctrl+C 和 Ctrl + V 是没什么问题的,这不,很不巧就翻车了,起初怀疑我 copy 漏,原来是这次的文档请求有些不一样。正文报错:<302,<html><head><title>Object moved</title></head><body><h2>Object moved to <a href="/WebSiteError.aspx"&g

2020-12-20 21:34:35 1017

原创 Java多线程之死锁

死锁是什么?定义: 指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。举个例子:两个小孩,小王持有玩具,小明持有电视遥控。小王想看电视,要拿遥控器,但对手里的玩具不肯放手。小明想玩玩具,但对手里的遥控器也不打算放手。看来双方都是全都要!于是大家都在做零和博弈,吃着碗里的看着锅里的。这就是典型的生活死锁想想。import lombok.extern.slf4j.Slf4j;import java.util.concur

2020-12-19 23:57:45 106 4

原创 Java多线程之 synchronized 的“锁“事(十二)

前言:synchronized 通过Monitor来实现线程同步,Monitor是依赖于底层的操作系统的Mutex Lock(互斥锁)来实现的线程同步。但 阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态转换需要耗费处理器时间 。如果同步代码块中的内容过于简单,状态转换消耗的时间有可能比用户代码执行的时间还要长,有点杀鸡用牛刀的感觉。所以在 Java 6 之后, 为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”。PS:依赖于操作系统Mutex Lock所实

2020-12-19 23:56:46 90 2

原创 Java 多线程之 Monitor (十一)

前言在后续会深入分析 synchronized 的底层原理,但在说之前必须得讲解 Monitor 做位铺垫。正文Java 对象头以 32 位 Java 虚拟机(JVM)为例子普通对象 (64 位 或 8 个字节)|--------------------------------------------------------------|| Object Header (64 bits) ||--------

2020-12-18 23:44:25 156 3

原创 Java 多线程之变量线程安全分析(十)

正文成员变量和静态变量是否线程安全?若它们没被共享,则线程安全若它们被共享,分两种情况讨论若只有读操作,则线程安全若有读写操作,则这段代码是临界区,需要考虑线程安全局部变量是否线程安全?局部变量是线程安全的局部变量引用的对象则未必如果对象没有逃离方法的作用范围,它是线程安全的若对象逃离方法的作用范围(比如 return),需考虑线程安全的常见线程安全类StringIntegerStringBufferRandomVectorHashtablejava

2020-12-17 22:33:13 216 2

原创 Java 多线程之临界区与竞态条件(九)

正文Java 体现共享资源的问题两个线程对初始值为 0 的静态变量一个做自增,一个做自减,各做 5000 次,结果为 0 么?public class Test2 { static int j = 0; public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(() -> { for (int i = 0

2020-12-17 22:32:09 195

原创 Java 多线程之主线程与守护线程(七)

正文概念默认情况下,Java 进程得等待 所有线程都运行结束,才会结束。有一种特殊的线程叫守护线程,只要其它非守护线程运行结束了,即使守护线程的代码还没执行完,也会强制结束。应用垃圾回收器线程就是一种守护线程Tomcat 中的 Acceptor 和 Poller 线程都是守护线程,所以 Tomcat 接收到 shutdown 命令后,不会等待它们处理完当前请求线程的 5 种与 6 种状态五种状态 ——从操作系统层面初始状态,语言层创建了线程对象,未涉及操作系统可运行(就绪)状态

2020-12-17 22:27:12 305

原创 Java 多线程之常用方法(六)

前言Java 多线程中的方法有很多,我们就挑几个有代表性的来分析正文sleep(睡眠)调用 sleep 会让当前线程从 Running --》Timed Waiting 状态(阻塞)其他线程使用 interrupt 方法打断正在睡眠的线程, sleep 方法会抛出 InterruptedException PS: 好比一个在睡觉的人,被吵醒,有起床气!!!睡眠结束后的线程未必会立刻得到执行,因为这时的CPU 可能正在执行其他代码JDK 1.5 之后增加了 TimeUnit 的sleep

2020-12-17 22:23:26 115

原创 Java 多线程之 Monitor (十一)

前言在后续会深入分析 synchronized 的底层原理,但在说之前必须得讲解 Monitor 做位铺垫。正文Java 对象头以 32 位 Java 虚拟机(JVM)为例子普通对象 (64 位 或 8 个字节)|--------------------------------------------------------------|| Object Header (64 bits) ||--------

2020-12-17 22:11:52 147

原创 Java 多线程之线程运行原理(八)

概念栈与栈帧JVM 中由堆、栈、方法区(JDK 1.8 后改为元空间)组成,其中栈内存是给启动后的线程使用。每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈帧,对应着当前正在执行的方法代码public class ThreadFrames { public static void main(String[] args) { test1(1); } private static void test1( i

2020-12-13 11:12:44 106

原创 Java 多线程之查看进程线程方法(五)

Windows任务管理器,查看或杀死进程我们可以看到 进程的ID (PID)以及名称cmd --》 tasklist 查看进程 taskkill 杀死进程例子taskkill /F /PID xxx/F 代表强制杀死xxx 代表进程 IDLinuxps -fe 查看所有进程ps -fT -p 查看某个进程(PID)的所有线程kill 杀死进程top 按大写 H 切换是否显示线程top -H -p 查看某个进程(PID)的所有进程Javajp

2020-12-13 11:06:32 323

原创 Java多线程之创建线程(四)

方法一,直接使用 Thread //创建线程,建议创建线程的时候取一个名字Thread t = new Thread("t1"){ @Override public void run() { //执行的方法 System.out.println("通过 new Thread() 方法创建线程"); }};//设置名称//t.setName("t1");//启动线程t.start();方法二,使用 Runnable 配合 Thread

2020-12-09 21:39:04 221 2

原创 Java 多线程之应用(三)

应用一异步调用同步:需要等待结果返回,才能继续运行异步:不需要等待结果返回,就能继续运行通俗易懂的说,周末在宿舍,到饭点了,我叫舍友一起去打饭,他说打完这局王者才能跟我一起去吃饭,我一直在那等他,这就叫同步我喊舍友一起去吃饭,舍友在打游戏,说知道了,我一个人去食堂打饭去了,这就叫异步特点多线程可以让方法执行变为异步。避免因为执行某个耗时的方法,而使得其他代码都暂停,浪费时间。上面的例子,我因为等待舍友打完游戏,才能一起去吃饭,如果我不等他,我可能早就打完饭回宿舍开吃了。实际应用视频

2020-12-09 21:35:19 98

原创 Java多线程之并行并发傻傻分不清楚(二)

背景单核时代单核 CPU 情况下,线程实际上是串行执行任务的。操作系统这个 BOSS,手底下有个狗腿子叫任务调度器,将 CPU 的时间片段分给不同线程使用。因为计算机的线程切换速度非常快,给人感觉就是同时运行的错觉。一般将这种 线程轮流使用 CPU 的做法称为并发。一句话概括:微观上串行,宏观上并行。多核时代当然,时代是在进步的,现在的计算机基本上是多核 CPU 了,什么双核四线程,八核十二线程的,归根结底都是为了提高 CPU 的利用率。多核 CPU 下,每个核都可以调度运行线程,这时的线程可

2020-12-05 22:14:00 225

原创 Java 多线程之进程与线程(一)

前言虽然各种框架技术日益更新,但终究逃不过基础,年轻人,耗子尾汁,别再犯这样的聪明,小聪明啊。正文进程程序由指令和数据组成,而指令要运行、数据要读写,就必须将指令加载到 CPU 里,数据加载到内存。在指令运行过程中还要用到其他资源(磁盘、网络)。 进程就是用来加载指令、管理内存、管理IO的当一个程序被运行,从磁盘加载到内存,就代表开启一个进程。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。

2020-12-05 20:57:42 63

原创 《设计模式》之为什么需要项目开发需要三层?

前言最近重新拾起《设计模式》温故一下,结合公司项目经济记录一下,当然这只是一篇学习笔记正文我想起刚实习那会,终于接触到了比较真实又复杂的项目,项目里一会 Controller、一会 Service 、一会 Repository 的,我迷惑不解。好家伙,原来这叫 MVC 三层开发模式(较真来讲 MVC 跟 Controller、Service 、Repository 是两码事!)Controller (控制层 / 表示层),它是负责接口暴露的,它会调用 Service ,然后将处理结果返回到前端

2020-11-25 21:30:07 176

原创 【Java 时间戳】时间戳转格式变1970问题,已解决

前言好久不见,打工人们!原因最近遇到一个新需求,需要获得时间戳(单位是秒),然后转成一定得时间格式,yyyyMMddHHmmss ,本以为不就是 Ctr + C 和 Ctr +V 就能搞定,结果碰壁了。明明输入时当前时间(0202年),结果一转换就变成了 1970XXXX,这个时间差异太离谱了,没见过。源代码: public static String getFormatTimestamp() { // 获取当前时间戳,Java8 新特性 long time

2020-10-24 00:30:58 9220 5

原创 【深圳X金技术公司】Java笔试题

前言今年 8 月份,一个同学内推的面试,好吧,笔试题我做得一塌糊涂,然后被面试官一顿血虐。正文一 选择题1)关于 C++ / Java 类中 static 成员和对象成员的说法正确的是()A static 成员变量在对象构造时生成B static 成员函数在对象成员函数中无法使用C 虚成员函数不可能时 static 成员函数D static 成员函数不能访问 static 成员变量2)袋中有红球,黄球,白球各一个,每次任意取一个又放回,如此连续抽取 3 次,则下列事件中概率是 8/9

2020-09-21 23:54:01 2263 5

原创 开发中常用的那些 Spring 注解

文章目录前言一、Controller 层注解二、Service 层三、其他前言当前互联网公司 Java 开发大概率绕不开 Spring 全家桶,也意味着绕不注解,我记得有一次面试官问我注解,一开口就三连炮,是什么,有什么用,你会怎么实现。我特么蒙蔽了,平时不就是 Ctrl C + Ctrl V 么?痛定思痛后,整理了平时开发用的注解,以为进一步分享总结其原理。一、Controller 层注解@RestController : @RestController Spring4.0之后新增的,

2020-09-15 21:35:15 230

原创 【解决BUG】javax.validation.UnexpectedTypeException: HV000030: No validator could be found for

错误原因Java实体类中属性是Integer类型,用了NotBlank判断不能为空,而这个注解是判断字符串是否为空3、解决办法 去掉@NotBlank注解、使用@NotNull

2020-09-04 16:51:39 2863 1

原创 【2020塔塔集团(汇丰)】Java 电话面试

前言这是塔塔集团那边的电话面试,因为人不在广州,跟面试官协调的,而且算是一个外包项目,估计是个老项目。正文1、JSP 两种跳转方式?使用href超链接标记 客户端跳转使用javascript 客户端跳转提交表单 客户端跳转使用response对象 客户端跳转使用forward总做标记 服务器跳转使用requestDispatcher类 服务器跳转2、SQL 注入与预防sql注入的原理是将sq

2020-08-31 22:35:28 1092

原创 【设计模式】单例模式双层校验(DCL)与 volatile 的关系

这是一道面试题,引申的思考DCL单例(Double Check Lock)到底需不需要 volatile其实就是问:private static volatile Singleton singleton = null; 中的 volatile 有没有必要加?代码public class Singleton { // 使用volatile保证了多线程访问时singleton变量的可见性, // 避免了初始化时其他变量属性还没赋值完时,被另外线程调用 private

2020-08-08 23:38:34 216

原创 【JK160】Java开发工程师面试题

前言去深圳某互联网公司的面试,要求是2年以上的开发。正文Java 基础1、聊一聊 HashMap(1.7 和 1.8)答:hashMap 的底层结构在 jdk1.7 中由数组+链表实现,在 jdk1.8 中由数组+链表+红黑树实现,以数组+链表的结构为例。默认初始容量时 16 ,负载因子时 0.75。线程安全:非线程安全解决哈希冲突:1.7 采用头插法的拉链表式,如果成百上千个节点 hash 碰撞,会退化成一个长链表,会花费 O(N) 时间查找,而且容易形成死循环链接1.8 采用尾插法+

2020-08-07 17:00:59 309

原创 Java 部分笔试题,菜是原罪!

前言今天又去面试了,做了一些笔试题,淦!正文1、分析以下代码,写出结果和并说明原因public class App { public static void main( String[] args ) { Long a = new Long(3); Long b = 3L; int c = 3; System.out.println(a == b); // false System.out.println(b

2020-08-01 11:00:29 727

原创 【HBase】启动报错 java.lang.NoClassDefFoundError: org/codehaus/stax2/XMLInputFactory2

一启动 HBase 就冒出个问题![admin@node21 conf]$ start-hbase.shrunning master, logging to /xxx/hbase-2.x.x/logs/hbase-admin-master-node21.outnode22: running regionserver, logging to /xxx/hbase-2.x.x/bin/../logs/hbase-admin-regionserver-node22.outnode23: running r

2020-07-16 21:44:18 6550

原创 【Hive】 解决 com.ctc.wstx.exc.WstxParsingException: String ‘--‘ not allowed in comment (missing ‘」‘?)

这是以前安装配置 Hive 的笔记。[admin@node21 conf]$ schematool -dbType mysql -initSchemaException in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: String '--' not allowed in comment (missing '>'?) at [row,col,system-id]: [20,5,"

2020-07-13 17:17:38 3598

原创 Hadoop HA 模式下 WordCount 日志报错 SLF4J: Class path contains multiple SLF4J bindings.

报错日志[2020-07-11 23:39:41.144]Container exited with a non-zero exit code 1. Error file: prelaunch.err.Last 4096 bytes of prelaunch.err :Last 4096 bytes of stderr :SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt

2020-07-13 10:27:50 342

原创 编码不规范,同事两行泪

前言大一老师教 PHP ,期末让我们自由发挥做一个项目。我勉勉强强做出来了,老师在下面提问,你的登录页是那个?我一打开项目,老师好像后悔看我的项目了。里面的文件命名都是阿拉伯数字或者拼音命名,我满头大汗找了好久。老师看得眼镜痛说,行了行了,下来吧。难怪雷军说:写代码要像写诗一样,你看着舒服,别人也舒服。正文1、一个方法(接口)长度不要超过 200 行,超过要拆,2、一行代码长度不要超过编辑器宽度,避免横向拖拉编辑器3、如果可以的话,一个方法的参数个数不要太多,一般不要超过4个,再多的话不

2020-06-30 13:23:31 177

原创 解决 Failed to execute goal on project

问题描述在 IDEA install 模块时报错了,看了控制台信息 ,估计是依赖问题[ERROR] Failed to execute goal on project xxx.yyy.share: Could not resolve dependencies for project com.dfl:xxx3.yyy.zzz:jar:1.0-SNAPSHOT: Failure to find com.xxx:xxx-target:pom:1.0-SNAPSHOT in https://xxxx/sn

2020-06-08 16:26:43 30866 2

原创 【解决】Failure to find com.xxx:xxx-target:pom:1.0-SNAPSHOT in https://xxxx/snapshot was cached in the

微信公众号:[一起学习大数据呀] 关注可学习更多奇怪的知识!问题本来高高兴兴正常 install xxx3 的 maven 模块却报了这个错[ERROR] Failed to execute goal on project xxx3.yyy.share: Could not resolve dependencies for project com.dfl:xxx3.yyy.zzz:jar:1.0-SNAPSHOT: Failure to find com.xxx:xxx-target:pom.

2020-05-15 17:01:18 42267 5

原创 贪心算法,一个的吃货理解

关注微信公众号:[一起学习大数据呀] 让奇怪的知识 UP!前言“人要活在当下”,“看清楚眼前”。而“活在当下,看清楚眼前”的办法,从问题的初解出发,一步步做出当前最好的选择,逐步逼近目标。这就是贪心算法的本质。只讨论文字,不涉及代码。作者水平有限,难免遗漏错误,欢迎读者们留言指正。概念什么是贪心算法呢?所谓贪心算法是指,在对问题求解时,总是做出在当前看来最好的选择。也就是说,不从整体最优解出发来考虑,它所做出的仅是在某种意义上的局部最优解。换句话说,把一个大问题,分成若干的小问题,而每个小..

2020-05-14 22:19:27 412

原创 JAVA 程序展示时间与数据表保存的时间相差了 13 个小时!

微信公众号:[一起学习大数据呀] 关注可学习更多奇怪的知识!前言五一放假回来,功能我提前完成了,这会在学习算法,微信的声音响起,测试说,有个小问题,讲真的,最怕测试突然想起你。测试甩了三张截图给我,说你的保存时间不对啊,奇怪了,放假前还好好的,怎么一回来就出问题了。不知道你们有木有发现不对劲,数据表的时间比 Java 代码展示的时间少了。分析我开始分析了,放假前,是没问题的,后...

2020-05-06 21:33:07 1417 1

struts2.5.12官方jar

包含:struts2.5.12官方jar,新手上路,多点分享多点快乐。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除