自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 java 关于锁 常见面试题

synchronized原理每一个对象都会和一个监视器monitor关联。监视器被占用时会被锁住,其他线程无法获取该monitor。当JVM执行某个线程的某个方法内部的monitorenter时,它会尝试去获取当前对象对应monitor的所有权,过程如下:若monitor的进入数为0,线程可以进入monitor,并将monitor的进入设置为1.当前线程成为monitor 的owner若线程已拥有monitor的所有权,允许它重入monitor,则进入monitor的进入数+1若其他线程已拥有mo

2021-01-19 17:28:05 914

原创 大厂面试必考计算机网络问题

OSI与TCP/IP各层的结构与功能,都有哪些协议?应用层应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间的通信和交互规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元称为报文运输层运输层的主要任务就是负责两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。”通用的“是指并不针对某一个特定的网络应用,而是多种应

2021-01-13 16:02:12 588

原创 记录一次叮咚买菜面试复盘

离职半年的我在 2020-12-25 这个喜庆的日子终于卖出了第一步颤颤巍巍的投递了叮咚买菜java开发简历过审收到了电面邀请虽然有两年开发经验但这两年一直没有到外面面试过还是有点惴惴不安约的下午3点两点半小板凳就准备好随时等待面试官的电话3点整面试官如约打来电话是位小哥哥讲话很温柔我们聊了半个多小时聊完后我自我感觉良好挂了小哥哥电话就和李哥嘚瑟起来”他问的问题我都会哎Redis,Mysql,线程池,我都能答出来就一个问题我没答出来“李哥: ”有一个不知道啊

2020-12-26 19:04:55 3968 4

原创 JVM垃圾回收机制

JVM垃圾回收机制JVM的基本组成虚拟机的组成所谓java能实现跨平台,是因为在不同平台上运行不同的虚拟机决定的,因此java文件的执行不直接在操作系统上执行,而是通过JVM虚拟机执行,我们可以从这张图看到,JVM并没有直接与硬件打交道,而是与操作系统交互用以执行java程序运行流程这张图是JVM的组成图,分为四部分:类加载器类加载器的作用是加载类文件到内存。比如我们写一个HelloWorld.java 的程序,首先使用javac命令进行编译,生成HelloWorld.class字节码文

2020-12-18 10:59:54 314

原创 volatile+双重检查 实现单例模式

/* 目标:双重检查机制,以及使用volatile修饰(最好,最安全,最推荐) 步骤: 1.构造器私有 2.提供一个静态变量用于存储一个单例对象 3.提供一个方法进行双重检查机制返回单例对象 4.使用volatile修饰静态的变量 双重检查的优点:线程安全,延迟加载,效率较高! */public class Singleton { private volatile static Singleton INSTAN

2020-12-16 16:25:48 2362 12

原创 一个SQL执行的很慢的原因有哪些?

一条SQL语句执行很慢,那是每次执行都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?所以我们得分两种情况来讨论。一、大多数情况是正常的,只是偶尔会出现很慢的情况。这个SQL大多数情况很正常,只有偶尔出现很慢,针对这种情况,我觉得这条SQL语句的书写本身是没什么问题的,而是由其他原因导致的。1. 数据库在刷新脏页(flush)当我们要往数据库插一条数据、或者更新一条数据的时候,我们知道数据库会在内存中把对应字段的数据更新了,但是更新之后,这些更新的字段并不会马上同步持久化到磁盘中去,而是把这些更新

2020-11-26 11:31:57 2384 2

原创 常用SQL技巧

SQL执行顺序编写顺序SELECT DISTINCT <select list>FROM <left_table> <join_type>JOIN <right_table> ON <join_condition>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>ORDER BY <o

2020-11-25 15:32:19 228

原创 Mysql中查询缓存优化

概述开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存。操作流程客户端发送一条查询给服务器;服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;将结果返回给客户端。查询缓存配置查看当前的MySQL数据库是否支持查

2020-11-25 13:48:44 169 1

原创 MySQL优化

大批量插入数据对于InnoDB类型的表,有以下几种方式可以提高导入效率:主键顺序插入因为InnoDB类型的表是按住主键的顺序保存的,所以将导入的数据按照主键的顺序排列,可以有效的提高导入数据的效率。如果InnoDB表没有主键,那么系统会自动默认创建一个内部列表作为主键,所以如果可以给表创建一个主键,将可以利用这点,来提高导入数据的效率。关闭唯一性校验在导入数据前执行 SET UNIQUE_CHECKS=0,关闭唯一性校验,在导入结束后执行SET UNIQUE_CHECKS=1,恢复唯一性校验,

2020-11-24 17:00:48 158

原创 MySQL索引的使用

准备环境create table tb_seller (sellerid varchar (100),name varchar (100),nickname varchar (50),password varchar (60),status varchar (1),address varchar (100),createtime datetime,primary key(sellerid))engine=innodb default charset=utf8mb4;insert int

2020-11-24 12:07:31 205

原创 Mysql的体系结构

整个MySQL Server由以下组成Connection Pool:连接池组件Management Service & Utilities:管理服务和工具组件SQL Interface:SQL接口组件Parser:查询分析器组件Optimizer:优化器组件Caches & Buffers:缓冲池组件Pluggable Storage Engines :存储引擎File System:文件系统1.连接层第一层是一些客户端和链接服务,包含本地sock通信和大多数基于.

2020-11-20 13:40:28 253

原创 Linux 系统安装MySQL

Linux 系统安装MySQL下载Linux 安装包 https://dev.mysql.com/downloads/mysql/5.7.html#downloads安装MySQL1). 卸载 centos 中预安装的 mysqlrpm -qa | grep -i mysql(查看MySQL当前版本号)rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps(rpm -e 卸载之前的MySQL)2). 上传 mysql 的安装包alt +

2020-11-19 12:09:41 128

原创 前端增加水印

addWatermark:function(el,color, text, bgPos, bgSize, font){ var wdh = 400; var hgh = 280; if (font) { wdh = font[0]; hgh = font[1]; } var baseTxt = (text == '') ?..

2020-06-12 09:13:13 319

原创 sqlserver 查询一个字段里数字类型的值出来

2020-05-21 17:15:00 809

原创 case when and 多个条件 决定一个新字段

case when open_date = '1990-01-01' and supplierid = 1856 and close_date = '2020-03-10' then 'wpp' else 'cxk' end

2020-05-21 16:36:09 3168

原创 mysql 查看数据库版本

mysql 查看数据库版本: select @@version;

2020-05-21 16:28:40 159

原创 浅谈clickhouse在大数据分析领域的应用

一. 概述随着我们业务需求的发展,数据量级的增加,传统的数据库的查询速度已满足不了我们的业务需求,对于一张千万级数据量的表,使用mysql 或者mssql 查询出一列数据,就要5秒左右,不!这不是我们想要的!!!我们必须找到应对方法,来解决查询速度这一问题。经过多天的考虑与讨论,我们最终选择,使用click house 来解决这一问题。二. 什么是Clickhouse官方给出的解释是:Cli...

2019-06-09 18:52:48 2910 2

原创 不依赖后端 , 前端几行代码实现下载csv

function exportCsv(lines, filename) {const uri = ‘data:text/csv;charset=UTF-8,%EF%BB%BF’ + encodeURIComponent(lines.join(’\n’));const el_a = document.createElement(‘a’);el_a.href = uri;el_a.downlo...

2019-04-30 11:10:03 380

原创 sourcetree 不显示新添加的文件

在项目中新添加了文件,但是想要提交的时候在sourcetree 中却不显示。可能是sourcetree显示文件状态的原因如图所示,把文件状态修改为 待定 后 ,就会显示新添加的文件了...

2019-02-20 20:01:13 8009 2

原创 $(...)[0].attr is not a function

$(…)[0] 返回的是一个dom对象而 attr() 方法 只能被JQuery对象所使用所以,可以用$(…).eq()

2019-02-11 17:38:31 6160 2

原创 MySQL在某个字段后新加一个字段

alter table tablename add newfield int(11) comment “新字段” after oldfield

2018-12-06 15:22:03 2069

原创 C# control cannot fall through from one label ('case 2 :' ) to another 问题

switch (request.downloadDimension){case 1:sqlselect.Append(“ctripmasterhotelid”); break;case 2:sqlselect.Append(“supplierid,suppliername,ctripmasterhotelid”);  case 3:sqlselect.Append(“supplie...

2018-11-23 14:00:30 1865

原创 coalesce 函数

COALESCE是一个函数, (expression_1, expression_2, …,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。select coalesce(null,2,3); // Return 2select coalesce(null,null,3); // Return 3select...

2018-11-22 18:53:24 1816

原创 npm intall -S -D的区别

npm install moudle_name -S 即 npm install moudle_name --savenpm install moudle_name -D 即 npm install moudle_name --save-dev通过-S命令安装的包,写入dependencies通过-D命令安装的包,写入devDependenciesdevDependenc...

2018-11-20 20:57:40 546

原创 JS获取当前月的最后一天

var date = new Date();var year = date.getFullYear();var month = date.getMonth() + 1;//date.getMonth()得到的月份从0开始var endDate = new Date(year, month, 0);

2018-11-16 17:33:45 122

原创 JS获取当前日期 格式为YYYY-MM-DD

//获取当前时间,格式YYYY-MM-DDfunction getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1;//date.getMonth()得到的月份从0...

2018-11-16 15:29:27 641

转载 SQL JOINS (left join 、right join 、 inner join 、 full outer join )

2018-11-16 15:24:12 257

原创 远程桌面登陆后不显示桌面的解决办法

今天登陆远程桌面进行开发,并没有开启几个应用就卡的要死,一时着急就打开任务管理器结束各种进程。结果 …gg …远程桌面整个蓝屏 什么都不显示 …(心急如焚、内牛满面)几番百度终于找到问题的原因:结束进程的时候 ,把 explorer.exe 进程结束 导致 !!!(一失手成千古恨…)explorer.exe 是windows程序管理器或者文件资源管理器,用来管理windo...

2018-11-16 15:18:24 14301 1

原创 VScode光标后退 前进 快捷键

alt + ← : 后退alt + →: 前进

2018-11-02 17:59:51 17335 1

原创 查看建表语句

show create table DBname.tablename

2018-10-22 20:11:54 1114

原创 往表里新加一列

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;注意:如果该列数据有为空的情况,就不能写为 not null 。可以设置默认值alter table TABLE_NAME add NEW_COLUMN_NAME type int(11) DEFAULT ‘1’ COMMENT ‘用户类型(1:...

2018-10-22 20:10:49 953

原创 怎样往表里插入一条数据

insert into tablename (列1,列2,列3…) values(值1,值2,值3…)

2018-09-12 23:29:33 6789

原创 在不删除表的前提下删除表中的所有数据

在不删除表,不修改表结构的前提下,通过以下命令 USE [GroupMagic] TRUNCATE TABLE [dbo].[GroupTripartiteInstantOrders_temp] 可以删除表中所有数据

2018-09-10 19:46:48 425

原创 如何在hive上建表,删表

建表: USE tmp_htlreportdev; CREATE TABLE tmp_GroupTripartiteCommissionByMonthV2( hotelid_ctrip INT COMMENT ‘酒店id’, effect_day STRING COMMENT ‘日期’, source STRING COMMENT ‘订单渠道来源’, ...

2018-09-10 19:43:19 337

原创 程序人生

学习的苦你不愿意主动去吃, 生活的苦你躺着不动它就来了。

2018-09-09 23:38:00 144

空空如也

空空如也

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

TA关注的人

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