
Java
程序员一木
这个作者很懒,什么都没留下…
展开
-
如何看待 2019 年 JAVA 开发就业「爆炸」现象?
如何看待 2019 年 JAVA 开发就业「爆炸」现象?现在已经进入5月份了,从过去的几个月看,2019年,IT业的就业形势比2018年底大家预测的还要糟糕。更让人担心的是,过去的几个月,整体就业形势还在一直的往下行。我们甚至也不知道未来会不会更糟糕。从我身边看,年初的时候,虽然行业内一部分公司已经开始裁员,但还有另一部分公司只是缩减了开支,或减少招聘名额。而现在,基本上都已经开始了实质性裁...转载 2019-05-08 18:33:19 · 1194 阅读 · 0 评论 -
怎样才是一个基本水平的java程序员?
怎样才是一个基本水平的java程序员?熟悉常用的数据结构,包括数组,链表,树,哈希表等。熟悉结构化编程和面向对象编程。能够阅读UML设计图,根据UML语义进行编码了解RDBMS和SQL的使用,包括DDL和DML,理解数据库事务(ACID),锁和死锁。熟悉Java语法特性,正确理解多线程,同步,临界区,线程安全,异常,泛型等。了解常用的Java库,比如java.lang,http://j...转载 2019-05-08 18:35:16 · 288 阅读 · 0 评论 -
java面试中可能被问到的常用排序算法
排序算法排序算法是一种比较简单的算法,从我们一开始接触计算机编程开始接触的可能就是排序或者搜索一类的算法,但是因为排序在其他的一些算法中应用较多,所以为了提高性能已经研究了多种排序算法。目前区别排序算法主要还是以时间复杂度,空间复杂度,稳定性等来排序,接下来我们分别分析。稳定性算法区别一个排序算法是否是稳定算法只需看相同的关键字在排序完成后是否保持原来两者的前后关系即可,比如对于[1,...原创 2019-05-13 18:58:50 · 402 阅读 · 0 评论 -
java对象的序列化和反序列化
java对象的序列化和反序列化1.为什么是序列化在计算机世界两台机器互相通信,如文本文件,图片,音视频,这些都是以二进制传输的。但是我们想给另一个程序传输java的类对象该怎么办?这时候可以使用序列化将对象序列化(持久化)将数据写入文件,数组然后发送到目的地,转化为序列然后再进行传输,然后再进行解码。将内存中的对象保存到数据库中 在网络上传输对象 用RMI传输对象的时候2....原创 2019-05-13 19:04:39 · 120 阅读 · 0 评论 -
为什么淘宝会从PHP换成Java,是不是Java比PHP性能好?
为什么淘宝会从PHP换成Java,是不是Java比PHP性能好?Php和Java到底有啥区别?1. PHP即写即用。代码发生改变,马上就可以看到效果。Java就远没有这么灵活,代码改变后要编译、重启jvm,增加了时间消耗,JVM重启也会造成用户响应中断。2. Php的看起来思路清晰。字如其义比,echo "hello world"就是输出hello world,而java则不同,...原创 2019-05-13 19:07:53 · 6653 阅读 · 8 评论 -
Redis五大数据结构详解
Redis五大数据结构详解1 通用命令2 数据结构和内部编码2.1 Redis 没有传统关系型数据库的Table 模型schema 所对应的db仅以编号区分。同一个db 内,key 作为顶层模型,它的值是扁平化的。也就是说db 就是key的命名空间 key的定义通常以“:” ...原创 2019-05-13 19:13:39 · 831 阅读 · 0 评论 -
对标阿里P7-P8高级Java程序员的进阶技术路线
对标阿里P7-P8高级Java程序员的进阶技术路线最近部门招聘,很多工程师,包括我在内都参与了内推和面试的过程,经过这次招聘,我发现能够最终拿到offer的人,基本上在看到简历的那一瞬间就已经定下来了,后续的面试只不过是一种验证而已(注意,是验证,而不是走过场),除非你面试过程中犯错误,或者你不想来,否则,那个offer一定是可以拿下的。那些拿下offer的人,基本上都有这么一些特征...原创 2019-05-13 19:17:33 · 704 阅读 · 0 评论 -
Java 初学者,如何学习 Java?
Java 初学者,如何学习 Java?这里说一说我认为的正确的学习方法吧.我觉得学习最重要的是两点:1.学习步骤/方法;2.学习资源。我的回答也主要围绕这两点。首先应该对自己的水平有个大致评估,对自己的学习习惯有基本了解。这决定了你以何种方式学习何种资料。举个例子,我当时的水平是熟悉编程语法,我觉得我水平应该去深钻了(高估了自己),所以去看Java 编程领域圣经级的《Java 编程...转载 2019-05-06 18:35:58 · 198 阅读 · 0 评论 -
对标阿里P6-P7高级Java程序员的进阶技术路线
对标阿里P6-P7高级Java程序员的进阶技术路线java使者java是世界上最好的语言关注他7 人赞同了该文章Java程序员学成归来,无论是自学还是培训,都将面临着一个问题,那就是自己的技术要通过面试官的检验才能拿到自己梦寐以求的高薪offer。那面试官都喜欢什么样的Java程序员你知道吗?所谓知己知彼,百战百胜。只有先了解了面试官的喜好需求才能对症下药...原创 2019-05-19 18:21:53 · 1163 阅读 · 0 评论 -
Java码农逆袭之路,我是如何用三年进入BAT拿高薪的!
Java码农逆袭之路,我是如何用三年进入BAT拿高薪的!计算机专业出身,对软件开发很感兴趣,所以毕业找工作的时候就一直投IT行业的职位。刚踏入这个行业时,以为突击一下东拼西凑的面试材料,就能有个很好的收获。结果却是,别说大公司了,就是很多看不上的小公司的笔试题都过不去。焦躁阶段后来我去了本地的一个小公司去做服务端的开发。虽然叫服务端开发,但其实就是做系统指标监控功能,从DB中读取一些指...原创 2019-05-19 18:24:13 · 300 阅读 · 0 评论 -
自学JAVA,前期疑惑求解?
自学JAVA,前期疑惑求解?学习路线以及方法推荐对于学习路线的话,我说一条我比较推荐的,我相信照着这条学习路线来你的学习效率会非常高。下面提到的书籍以及相关学习视频都答主已经整理好,文末有免费获取方式。很多朋友这几天领取了我整理的学习资源之后都私信感谢我,我个人还是挺高兴的,说句心里话,这些资源都是自己花了很长时间整理的。掌握 Java 基础知识(可以看《Java 核心技术卷1》或者《Hea...转载 2019-05-09 19:13:09 · 274 阅读 · 0 评论 -
Java都有什么进阶技术?
Java都有什么进阶技术?私以为,一些人对JAVA进阶的理解片面了,JAVA不过也是一门语言,提升和进阶还是内功的体现。就像那位答主所说,进阶的第一步就是编码风格和规范。我深表同意。 只是会用,这还远远不够~当然这也和题主的提问观点是一致的。那么我想说的是,有时候会用也是分层次的!就拿一般意义的编码来说,思想上可以分四个层次:第一层次是代码的长相,也就是编码的规范化,比如为什么不提倡用tab...转载 2019-05-09 19:17:02 · 1033 阅读 · 1 评论 -
Java高级-Mycat
Java高级-MycatMyCatMyCat 简介什么是 MyCat :MyCat 是目前最流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库...原创 2019-05-19 18:33:00 · 159 阅读 · 0 评论 -
5 月编程语言排行榜:Java第一,R跌出Top20
5 月编程语言排行榜:Java第一,R跌出Top20我们都知道,最近,TIOBE 发布了 5 月份编程语言排行榜。其中,前三名依然健稳不变,他们分别是 Java、C、C++,第四则为: Python ,第五则为 VB .NET。下面两张图,我们可以看到:2019 年 5 月 Top 20 排名imageimage2019 年 5 月 Top 10 语...原创 2019-05-19 18:34:39 · 211 阅读 · 0 评论 -
Java高级技术:Nginx
Java高级技术:Nginx什么是Nginx?Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务。Nginx 是由伊戈尔·赛索耶夫 为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。 Nginx 是一个很强大的高性能 Web 和反向代理服务,它具有很...原创 2019-05-19 18:36:58 · 306 阅读 · 0 评论 -
Java高级技术:Redis
Java高级技术:RedisRedis 简介 :Remote Dictionary Server(Redis)是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。Redis 的特点 :优点:1. 支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash 表)、set(集合...原创 2019-05-19 18:40:59 · 284 阅读 · 0 评论 -
Java高级技术:Redis(二)
Java高级技术:Redis(二)Redis 的数据持久化 :1、RDB 方式 :对内存中数据库状态进行快照 RDB 方式:将 Redis 在内存中的数据库状态保存到磁盘里面,RDB 文件是一个经过压 缩的二进制文件,通过该文件可以还原生成 RDB 文件时的数据库状态(默认下,持久化到dump.rdb 文件,并且在 redis 重启后,自动读取其中文件,据悉,通常情况下一千...原创 2019-05-19 18:42:19 · 231 阅读 · 0 评论 -
Java高级技术:Solr
Java高级技术:Solr一、 Solr 介绍1.全文检索什么叫做全文检索呢?这要从我们生活中的数据说起。 我们生活中的数据总体分为两种:结构化数据和非结构化数据。 1)结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 2)非结构化数据:指不定长或无固定格式的数据,如邮件,word 文档等。 非结构化数据又一种叫法叫全文数据。 按照数据的分类,搜索...原创 2019-05-19 18:44:01 · 313 阅读 · 0 评论 -
java面试题之int和Integer的区别
java面试题之int和Integer的区别int和Integer的区别1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值...原创 2019-05-14 18:35:15 · 270 阅读 · 0 评论 -
JdbcTemplate的环境搭建
JdbcTemplate的环境搭建1.建立一个项目,导入jar包(ioc aop dao 连接池 数据库驱动包)拷贝Spring容器对应的配置文件到src下2.在配置文件中引入外部属性文件3.配置数据源4.配置JdbcTemplate5.设置属性6.测试 db.properties db.properties学习群64弍46衣3凌9,资料群69似64陆0吧3driverClass...原创 2019-05-14 18:37:45 · 350 阅读 · 0 评论 -
简析date和calendar的用法
简析date和calendar的用法获取现在系统的时间和日期看起来是一件非常神奇的事情,但是当使用date和calendar之后发现仍然非常神奇。1、date 使用date日期之前需要导入包:import java.text.SimpleDateFormat;//用来格式化date文本输出;import java.util.Date;//用来使用date类型;具体实例如下:...原创 2019-05-14 18:39:54 · 439 阅读 · 0 评论 -
线程的基本操作
线程的基本操作线程的基本操作•线程状态切换•终止线程(stop)•中断线程(interrupt)•挂起(suspend) 和 继续执行(resume)•等待线程结束(join) 和 谦让(yield)•sleep •线程优先级•守护线程•线程的同步操作(synchronized, wait, notify)线程状态切换终止线程(stop)不推荐使用Thread.st...原创 2019-05-14 18:41:33 · 95 阅读 · 0 评论 -
Spring框架四大基本原则
Spring框架四大基本原则一、使用POJO进行轻量级和最小侵入式开发。1. 什么是POJO按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。 POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 POCO的概念是从j...原创 2019-05-14 18:43:03 · 351 阅读 · 0 评论 -
spring cloud 分布式链路追踪
spring cloud 分布式链路追踪一篇讲了微服务之间的调用 spring cloud eureka 微服务之间的调用微服务之间进行调用 那么如果我负责一个模块 别人负责另一个模块 我调用了他的方法 测试那边却报了错 那是我的问题还是他的问题 这个时候大家应该就能想到日志可以解决这个问题如何使用日志呢先在配置文件中加 logging: path: D:\logs\poppy-mall...原创 2019-05-14 18:45:03 · 189 阅读 · 0 评论 -
Java多线程包的Locks一览
Java多线程包的Locks一览Java多线程包提供了Locks,用作线程控制,看到这个名字自然要想起原生的Synchronized关键字,二者有什么优劣呢?Synchronized在得不到锁时只能等待,但是Locks可以使用tryLock这样的方法听起来好处也有限,但还是看看Locks的几个API吧//要求获得锁,会阻塞整个线程void lock();//要求获...原创 2019-05-14 18:47:27 · 280 阅读 · 0 评论 -
如何实现登录、URL和页面按钮的访问控制
如何实现登录、URL和页面按钮的访问控制用户权限管理一般是对用户页面、按钮的访问权限管理。Shiro框架是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理,对于Shiro的介绍这里就不多说。本篇博客主要是了解Shiro的基础使用方法,在权限管理系统中集成Shiro实现登录、url和页面按钮的访问控制。一、引入依赖使用SpringBoot集成Shiro时,...原创 2019-05-14 18:51:00 · 355 阅读 · 0 评论 -
一句话说清分布式锁,进程锁,线程锁
一句话说清分布式锁,进程锁,线程锁在分布式集群系统的开发中,线程锁往往并不能支持全部场景的使用,必须引入新的技术方案分布式锁。线程锁,进程锁,分布式锁线程锁:大家都不陌生,主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行...原创 2019-05-14 18:52:58 · 366 阅读 · 0 评论 -
为什么Redis 单线程却能支撑高并发?
为什么Redis 单线程却能支撑高并发?最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,...原创 2019-05-14 18:54:46 · 458 阅读 · 0 评论 -
这些年薪50万+的90后Java程序员经历了什么?
这些年薪50万+的90后Java程序员经历了什么?如果说薪资是检验一家公司对你认可的标准,那么年纪轻轻就能达到年薪 50 万+,一定程度上说明了公司对他创造的价值的认可。小编深访了10+ 名这样的程序员,把他们最常见的三种成长途径梳理了出来在一家公司的初期加入,并伴随着自己的业务线在短期内共同成长为细分条线的负责人,拿到年薪 50万+一步一步向知名大公司靠拢,通过自己技术的进步证明自己的实...转载 2019-05-07 18:37:57 · 234 阅读 · 0 评论 -
阿里大牛整理的六大Java进阶技术模块,看完茅塞顿开!
阿里大牛整理的六大Java进阶技术模块,看完茅塞顿开!金三银四跳槽旺季,每个人都想有一份高薪资,环境好,且稳定的工作,现在已经是四月份了,跳槽旺季还剩最后一个月,你们都准备好了么?你们吃饭的技术过硬么?你们准备好进名企了么?最主要的是,你们是一名资深架构师么?想成为架构师么?还是继续每天坚持加班的桥写代码??????这些问题,只有你们能明白且自己解决。现在正是需要我们认真考虑的时候,要如何提高...转载 2019-05-07 18:50:37 · 557 阅读 · 0 评论 -
Java市场饱和?他在忽悠你!
Java市场饱和?他在忽悠你!最近逛贴吧、论坛,总有小白问:转行Java怎么样?Java好学吗?求推荐Java入门书籍.......而下面不变的回答就是各种劝告,各种阻止,而这些语言就让那些要入门但还在门口徘徊的初学者犹豫了。Java市场饱和了,找不到工作的。错!Java从1995年出现,已经有21年的历史了,他的性能、实用性、兼容性都彰显其价值所在。回顾过去十五年的成果,J...原创 2019-05-20 18:40:01 · 1394 阅读 · 0 评论 -
人工智能机器学习Java也可以
人工智能机器学习Java也可以用于Java的5大机器学习库盘点机器学习是目前最热门的技能之一,许多公司都在争先恐后的寻找能够编写ML和深度学习代码的程序员,本文将为大家盘点5个针对Java的首选ML库#WEKAWeka是我们最好的Java机器学习库的首选。Weka 3是一个完全基于Java开发,最适合用于机器学习算法。Weka主要用于数据挖掘,数据分析和预测建模。它完全免费,...原创 2019-05-20 18:41:45 · 1452 阅读 · 0 评论 -
JAVA并发-自问自答学ThreadLocal
JAVA并发-自问自答学ThreadLocal前言ThreadLocal很多同学都搞不懂是什么东西,可以用来干嘛。但面试时却又经常问到,所以这次我和大家一起学习ThreadLocal这个类。下面我就以面试问答的形式学习我们的——ThreadLocal类(源码分析基于JDK8)问答内容1.问:ThreadLocal了解吗?您能给我说说他的主要用途吗?答:从JAVA官方对Thr...原创 2019-05-20 18:44:01 · 178 阅读 · 0 评论 -
mysql事务和锁 SELECT FOR UPDATE
mysql事务和锁 SELECT FOR UPDATE事务:当然有的人用begin /begin work .推荐用START TRANSACTION 是SQL-99标准启动一个事务。start transaction #开始一个事务操作savepoint sp1 #保存点名称操作ROLLBACK ROLLBACK To sp1 #回退到 sp1...原创 2019-05-20 18:45:40 · 1350 阅读 · 0 评论 -
Java单例模式的七种写法
Java单例模式的七种写法第一种(懒汉,线程不安全):public class Singleton {private static Singleton instance;private Singleton (){}public static Singleton getInstance() {if (instance == null) {instance = new...原创 2019-05-20 18:48:41 · 117 阅读 · 0 评论 -
图解Java常用数据结构
图解Java常用数据结构最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程.主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList LinkedHashMap中的双向列表不再是回环的.HashMap中的单链表是尾插, 而不是头插入等等, 后文不再赘叙这些差异, 本文目录结构如下:Lin...原创 2019-05-20 18:50:32 · 141 阅读 · 0 评论 -
Java开发中常用的快捷键有哪些
Java开发中常用的快捷键有哪些不知道Java常用的快捷键在工作的时候是非常的耽误时间的,本篇文章小编就为大家稍微整理了一些常用的Java快捷键分享给大家。 Ctrl+1或F2快速修复 Ctrl+D快捷删除行 Shift+Enter 快速切换到下一行,在本行的任何位置都可 Ctrl+F11快速运行代码 Alt+上下键 快速移动行(可多行)...原创 2019-05-20 18:52:23 · 927 阅读 · 0 评论 -
理解 Java 核心基础精髓
理解 Java 核心基础精髓1 人赞同了该文章1、字符串不变性下面这张图展示了这段代码做了什么String s = "abcd";s = s.concat("ef");2、equals() 方法与 hashCode() 方法的区别HashCode 被设计用来提高性能。equals() 方法与 hashCode() 方法的区别在于:如果两个对象相等(e...原创 2019-05-20 18:53:49 · 164 阅读 · 0 评论 -
java new一个对象的过程中发生了什么
java new一个对象的过程中发生了什么java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。一、类加载过程(第一次使用该类)java是使用双亲委派模型来进行类的加载的,所以...原创 2019-05-20 18:55:34 · 275 阅读 · 1 评论 -
Java的四种引用类型
Java的四种引用类型在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用。在这四个引用类型中,只有强引用FinalReference类是包内可见,其他三种引用类型均为public,可以在应用程序中直接使用。引用类型的类结构如图所示。1.强引用Java中的引用,类似C语言中最难的指针。(我是C语言入门编程,指针的概念还是很深入我心。)通过引用,可以对堆中的对象进行操作。如:...原创 2019-05-20 18:56:45 · 143 阅读 · 0 评论