自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2019年找工作经历

来深圳第一周就开始正式找工作了,这期间暂时放下了理财的学习,集中精力准备面试,查漏补缺。基本的节奏就是一天两次面试,上午下午各一次,晚上看下技术就休息了。总共跑了4天,收到4份offer,最后确定下来进入一家业内知名公司,开始我新的工作阶段。整个找工作的过程还是挺累的,在深圳跑了好几个地方。面试的过程,了解到市场的行情,不同公司根据业务和职位面试的侧重点也不同。大公司比较重视基础,愿意培养你,...

2019-12-02 20:51:18 206

原创 并发编程系列(七):线程池原理

一、线程池在java中,创建和销毁线程花费的时间和消耗的资源都较大,如果每来一个请求就创建一个线程,可能会导致系统资源的过渡消耗。为了解决该问题,引入了线程池。通过创建一个线程池子来管理多个线程的使用,当有任务需要处理,则分配给线程池中的线程处理,线程处理完后不会立即销毁,而是等待后续任务。通过对线程的管理,避免大量线程创建的开销线程池的优势:1. 降低创建线程和销毁线程的性能开销2....

2019-10-29 16:25:24 220

原创 并发编程系列(六):阻塞队列

一、生产者消费者的实际使用生产者消费者模式在分布式消息队列中用到较多,比如 ActiveMQ、kafka、RabbitMQ 等等,消息队列的使用可以使得程序之间实现解耦,提升程序响应的效率。如果我们把多线程环境比作是分布式的话,那么线程与线程之间也可以使用这种消息队列的方式进行数据通信和解耦。二、阻塞队列使用案例注册成功后增加积分用户注册时,在注册成功以后发放积分。这个场景一般来说,我们...

2019-10-28 10:29:46 189

原创 并发编程系列(五):ConcurrentHashMap的底层原理

一、内容要点1.通过数组的方式实现并发增加元素的个数(不用加锁,减少性能消耗)2.并发扩容,可通过多个线程实现数据迁移3.采用高低位链的方式解决多次hash计算的问题,提升了效率4.sizeCtl的设计,3种表示状态5.resizeStamp的设计,高低位的设计实现唯一性以及多个线程的协助扩容二、底层设计结构1.7版ConcurrentHashMap由一个个Segment组成,其...

2019-10-27 15:44:27 415

原创 并发编程系列(四):线程并发包J.U.C和AQS的原理

一、J.U.C简介Java.util.concurrent 是在并发编程中比较常用的工具类。1.LockLock是JUC包中最重要的组件,解决synchronized关键字在某些场景的短板。eg.锁修饰的代码块内,调用了同个锁修饰的代码块,锁对象相同,这时候第一个获得锁的代码还没释放,后面又有等待获取锁的代码,就形成死锁状态2.Lock实现Lock本质是一个接口,定义了获取和释放...

2019-10-26 11:55:26 273 2

原创 并发编程系列(三):重排序和可见性问题

一、volatile关键字作用eg.代码演示有无加volatile关键字的显示结果public class App { public volatile static boolean stop=false; public static void main( String[] args ) throws InterruptedException { Thre...

2019-10-25 13:28:51 373

原创 并发编程系列(二):线程锁使用场景和原理

问题:java中如何解决线程并行导致的数据安全问题?java SE 1.6后对synchronized做了优化,增加了偏向锁、轻量级锁概念,以减少获得/释放锁带来的性能消耗一、synchronized的使用锁的粒度,从上到下变小1.修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁public synchronized static void demo2() {...

2019-10-25 09:38:08 507

原创 并发编程系列(一):线程基础

一、线程生命周期通过start方法启动线程,当run()方法执行完毕,线程生命周期即将终止线程6种状态NEW:初始状态,线程被创建,还没调start方法RUNNING:运行状态,就绪ready和运行两种统一称为“运行中”WAITING:等待状态TIME_WAITING:超时等待状态,超市以后自动返回TERMINATED:终止状态,表示线程执行完毕BLOCKED:阻塞状态表示线程进...

2019-10-24 15:56:44 118

原创 ORM框架设计原理与定制

一、ORM框架顶层设计原理1、java原生的一套jdbc操作数据库接口,有如下几个步骤:(1)获得数据库驱动具体的驱动程序由各数据库厂商提供,java负责提供实现接口Class.forName("com.mysql.jdbc.Driver")(2)建立连接Connection conn = DriverManager.getConnection()(3)创建语句集Prepare...

2019-10-11 21:33:38 545

原创 python运维——自动化远程连接项目

应用背景:对于项目中有一些固定的繁琐的操作步骤的地方,每次手动处理比较费时,通过自动化项目,把这些固定的步骤交由程序执行,可以节省我们的时间,提高效率。自动化连接项目功能:通过pexpect包模块提供的方法,远程连接到Linux主机,对上面的SClient客户端做自动操作。手动启动SClient程序,需要一步步在界面输入命令,去执行下一步,通过pexpect包可以将这些手动操作自动化执行...

2019-10-05 11:08:23 493

原创 比技术更重要的东西

在项目中,我们会经历很多的问题,有些问题简单的复制粘贴可以解决,有些问题换了一个项目也同样会有。在这些问题背后,我觉得有些东西是比较重要的。思维和思想是比知识重要的。学了很多东西,用不上就是在浪费大脑库存和时间,解决不了实际问题,那么意义就会大打折扣。思维方式有很多,归纳法,演绎法,从整体到局部,从局部到整体等,这些东西的学习,可以从方法论的意义上指导我们日常的工作,让我们更有效的解决问...

2019-09-17 19:56:42 223

原创 代码规范性

对于初学者来说,一开始把功能做出来就可以了,但随着年限增加,学习代码的规范性,可以提高代码的可读性和可维护性,便于后来者更快的入手项目,通过基本的代码规范也能够避免一些不应出现的问题,比如:空异常、类型转换异常等,就可以从源头上预防。还有学习代码的设计规则,提高抽象能力和代码的解耦能力,当然,除了代码规范性还有代码安全性条规,涉及数据库、web和Java安全,防止外部的恶意攻击。目前先...

2019-09-14 17:27:49 1525

原创 程序员这份职业

一、启蒙与选择决定进入软件行业,从事程序员这份工作,始于大学的熏陶。当时的想法很简单,为了能够做出酷炫的东西,可以在同学面前炫技;也受学长大学四年经历的启示,在以后离开校园时,提前谋一条出路,学习一些技能,旱涝保收不怕饿死。炫技、谋生、未来主流,基于这三个原因构成了我最初学习技术的原动力。学习的过程遇到了很多的问题,不知道从何入手、获取到的资料少、学习的方向不明确等,那个时候只要有机会和大...

2019-09-13 11:49:27 390

原创 python运行方式和应用

一、python不同环境下运行1、python外部传参引入sys包通过sys.arg[i]获取到对应参数2、python在DOS运行需要加入引用包路径sys.path.append("D:/python/lib")3.shell和bat脚本运行python文件(1)bat文件python hello.py %1 %2默认有传参数限制,需要用其他方式来获取更多参数(2)sh...

2019-09-08 18:50:05 151

原创 Linux入门——常用命令

Linux有很多版本ubantu、centOS一、常用命令1.cd 切换路径2.ls 列出当前路径下所有文件3.文件或文件夹的操作(1)cp -[opt] sourcefile dstpath-r,递归复制路径-f,强制复制(2)rm(3)mv4.jps 查看运行进程5.ps ef|gref 文本,查看该文本在哪些进程出现6.kill 关闭进程kill -9 进程id ...

2019-09-08 18:46:04 155 1

原创 项目开发中遇到的前端知识点

一、开发中遇到的前端知识点1、evalhttps://www.cnblogs.com/objectorl/archive/2009/12/29/eval-and-JSON.htmleval函数将把最后一个表达式或者语句所包含的值或引用作为返回值(1)对json格式返回做转换(2)转换方式加上圆括号的目的是迫使eval函数在评估JavaScript代码的时候强制将括号内的表达式(expr...

2019-09-07 17:20:24 309 1

原创 单点登录实现流程

最近在公司做了一个单点登录的需求,由于之前没做过,花了一点时间也走了一点弯路。但是,了解了实现的原理和过程过后,就对单点登录的设计思想更明白了。下面就简单总结了下这个思考过程。一、单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。二、单点登录背景一个大的应用系统内部,有很多的子系统,每个子系统都有相应的一套登录认证机制,对用户来...

2019-08-18 15:44:54 1298

原创 GitHub安装及配置

使用开源网站GitHub来管理项目代码,免不了要做push推代码和pull拉代码,执行这些操作,需要一个工具来连接GitHub网站和本地代码仓库。一、下载Git无论是官网还是其他途径下载Git,速度太慢,在网上查了下,通过阿里云镜像地址下载速度快多了,镜像是个好东西呀~https://npm.taobao.org/mirrors/git-for-windows/二、安装Git...

2019-08-11 17:56:30 338

原创 常用软件整理

作为一名开发人员,随着工作年限增加,根据不同应用场景,所要使用的软件各不相同,而我们接触的软件一定会逐渐增多。整理软件,便于我们遗忘时快速索引;通过整理常用软件和工具,也能提高我们的开发和做事效率。基础开发环境及软件搭建: 序号 软件 作用 1 Jdk Java开发环...

2019-08-07 23:31:26 229

原创 java开发定位思维和思路

【定位思维篇】第一步:看代码首先应该熟悉每一个功能模块,知道每个功能按钮是干什么用的,执行后程序会做出什么样的反应,一边研究每一个按钮的功能,一边思考它是如何和数据交互的和其他功能关联起来的!如果是我设计我将如何设计,思考将贯穿始终,看代码一直是思考和记忆力以及耐力的综合考量!如果你没这个勇气或者说你不想这么做,那么你的技术将永远不会提升,你也将永远的被进不到“大师”的行列!第二步:打开“...

2019-07-12 21:10:23 1440

原创 node.js和npm安装与环境配置

一、node.js和npm安装1、NodeJS、NPM安装配置步骤(windows版本)https://jingyan.baidu.com/article/48b37f8dd141b41a646488bc.html2、npm换源https://blog.csdn.net/jeikerxiao/article/details/53887524二、npm配置1、设置全局安装和缓存路径np...

2019-07-07 13:25:00 535

原创 我的职场第一年

每年的6、7月是毕业的季节,很多人离开学校,步入社会,走向职场。而我,也不例外。在8月这个节点上,经过了一年的历练、打磨与积累,现在觉得是时候,以一年后的我回望一年前那个刚从学校出来的青涩的我,在职场的路上渐行渐远。回顾过去这一年,从实习期、试用期到正式工作,从学校过渡到职场,作为一个新人拿遍了部门里能拿到的奖项,和师傅一起努力拿到的“师徒一对红”,武汉地域年度“优秀新员工”。近期获得半年期绩...

2018-08-04 20:23:46 1035

原创 select下拉框

一、select下拉框下拉框select专有属性说明: options[]: 返回包含下拉列表中的所有选项的一个数组。 length:返回下拉列表中的选项数目。 multiple: 设置或返回是否选择多个选项。 selectedIndex:设置或返回下拉列表中被选项目的索引号。添加option元素 add(option,before)向下拉列表添加一个选项。 –option:要添加

2016-11-21 23:07:37 938

原创 行内元素和块级元素

一、行内元素与块级元素的区别1.块级元素的特点:总是从新行开始高度,行高、外边距以及内边距都可以控制。宽度默认是容器的100%可以容纳内联元素和其他块元素2.内联元素的特点:和相邻行内元素在一行上。高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效。默认宽度就是它本身内容的宽度。内联元素只能容纳文本或则其他内联元素。 常见的块级元素有:div、p、f

2016-11-21 22:56:02 1824

原创 转换(transform)和过渡(transition)

CSS3 2D 转换【工作方式】转换是使元素改变形状、尺寸和位置的一种效果。【浏览器支持】Internet Explorer 10、Firefox 以及 Opera 支持 【transform】 属性。Chrome 和 Safari 需要前缀 【-webkit-】。Internet Explorer 9 需要前缀 【-ms-】。【不同浏览器加效果时的前缀】 eg.div{trans

2016-11-21 22:26:03 1055

原创 DOM基础

DOM 是 Document Object Model(文档对象模型)的缩写。一、DOM 节点根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: (1)整个文档是一个文档节点 (2)每个 HTML 元素是元素节点(HTMLElement) (3)HTML 元素内的文本是文本节点(textNode) (4)每个 HTML 属性是属性节点(attribute) (

2016-11-21 22:11:12 344 1

原创 反射基本知识

获取对象类型的三种方式 (1)类.getClass() (2)类.class (3)Class.forName(全路径)invoke,setAccessible (1)setAccessible,设置是否允许访问,而不是修改原来的访问权限修饰词。 (2)invoke(Object obj, Object… args),对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。

2016-10-31 20:08:02 297

原创 日期转换

一、格式化日期SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");String s=”2000-10-3”;格式化,sdf.format(),将日期按格式转成字符串 String st=sdf.format(new Date()); //2016-10-11 System.out.println(st);未格式化 Syste

2016-10-29 22:49:52 340

原创 map集合遍历方式

【常用方法】 HashMap hm=new HashMap(); //通过制定键替换键所指向的值 hm.replace(2, "wxz"); System.out.println(hm.get(2)); //清空 hm.clear(); System.out.println(hm.size()); //判断是否为空 System.ou

2016-10-29 22:37:01 278

原创 file文件

1.创建文件file 构造函数只是用于创建一个file对象(包含一个抽象路径名),但该文件/目录是否存在还需判断(1)createNewFile()创建文件(比如:.txt类型文件),如果文件在目录下,目录未创建,则无法创建文件 【注】:以下方法无法创建文件 (2)mkdir()创建抽象路径名指定的【目录】(只能创建一级目录 例: d:/a),   如果是d:/a/b,a不存在则失败,a存在

2016-10-29 22:24:27 339

原创 io流类总结

什么是节点流、转换流、处理流?节点流:FileInputStream FileOutputStream FileReader FileWriter处理流:BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter InputStreamReader OutputStreamWriter节点流是直接处理数据源的类

2016-10-29 22:14:42 252

原创 jQuery节点操作

一、添加节点append,after,before,next,appendToappend() <div class='a'> //<---you want div c to append in this <div class='b'>b</div> </div> 使用 $('.a').append($('.c')); 则会这样: <div class='a'> //<---yo

2016-10-20 21:12:54 324

原创 jQuery对象和Dom对象转换

JQuery 对象转换成 Dom 对象 var $me= …; var me1=$me[0]; var me2=$me.get(0); // me1 == me2Dom 对象转换成 JQuery 对象 var domTemp=…; var $me1 = JQuery(domTemp); var me2=me2=(domTemp); // me1==me1==me2$(:inp

2016-10-20 21:01:49 249

原创 jQuery基础语法

jQuery基础语法一、基础语法是:$(selector).action()  美元符号定义 jQuery  选择符(selector)“查询”和“查找” HTML 元素  jQuery 的 action() 执行对元素的操作二、jQuery与JavaScript不同之处onload 事件不能同时指定两个事件处理器,但是 ready 事件是可以的。$ $符号仅仅表示一个合法但不常见的函数

2016-10-20 20:54:45 585

原创 mysql基本语法

增删改查distinct查询结果中消除重复行 select distinct(属性列) from 表名; select distinct 属性列 from 表名;order by,默认升排asc,降排desc ——先公司名排序,再按序号排 SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumb

2016-10-20 20:33:15 266

原创 最累的时光,也是最好的时光

这段日子过得很累很充实,但是我也很快乐,在实习之余利用自己的空余时间参加社会实践,除了赚到一点微不足道的钱,收获更多是社会阅历以及他给予我的历练。在实践的时间中,每一天都很累,常常从早上干到晚上,从一身光鲜,到灰头土脸的离开。在以前,我还没去社会实践前,总以为钱很好赚,脑子里转一圈想一想钱就能到手。但当我开始去做时,我才发现,每一份工作都不容易,每一分钱都不好赚。我们平常看到的很多东西,都不是表面看

2016-10-02 00:13:17 424

原创 逝去的时间

今天晚上坐车来到学校,没有了往日临开学时那种兴奋,倒是很平静,也不是为了报道,只是取走衣物准备工作。房屋建筑,往来的学生群,熟悉又陌生,在社会上呆了一个月仿佛渐渐不属于这里了。 【初来】   记得刚来这里时,还充满了期望,遇到现实,真真正正的大学生活,还是感觉到迷茫与焦躁,没有人会逼着你去做事,也不会每天都那么有目标感,也不会每天都有很多作业要做,第二天还要上交给老师。有人会一遍又一遍问自己有什

2016-09-09 23:37:18 775

原创 大秦帝国感想

秦孝公在献公之后,于大秦危难之际即位,在任期间,举用贤明,二十余年呕心沥血,没有一天是安稳舒适的日子,眼里只有政务只有国事,只有家国的兴亡荣辱,他的这二十年是普通人人生用三十年,五十年甚至一生都无法达到的高度。重用商鞅,开启轰轰烈烈变法强国之路。商鞅自身冷峻坚毅的性格,和法学精神天生融为一体,相辅相成有如极致。   看这部书,其本身所带有的法治精神,以及无处不浸透法学精神的文字,都让我或多或少受到

2016-07-20 22:34:40 1284

原创 大二这一年的技术之旅

在大一即将结束的时候,我有幸听了一次优秀学长毕业报告会,当时的我还很迷茫,不知道方向,学的专业又是数学这种纯理论的,虽然数学是当初报考学校选专业的时候自己的选择,但是大一学了段时间后,一是因为听不懂课静不下心,然后开始慢慢思考自己的以后,学习数学到底有什么用,对于我找工作有什么帮助,我没有得出结果,但是心中隐隐埋下想学技术的念头,毕竟有个一技之长,作为自己以后的立身之本,而听了那次的报告会,听了其中

2015-11-23 21:37:09 624

原创 资源文件总结

一、资源目录 1./res/layout,存放布局文件 2./res/values,值文件 (1)根元素<resources.../>根元素中的子元素代表不同资源 例: -string/integer/boolean 代表字符串值、整数值、布尔值    -color 颜色值    -dimen 添加尺寸    -array/string-array/int-array 添加数组

2015-09-17 21:57:17 360

空空如也

空空如也

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

TA关注的人

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