自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 腾讯云服务器性能测试心得经验总结

前言回顾几年前,做性能测试,尤其是服务器性能测试难度比较大,一是测试人员本身技术不足,二是测试的生态环境不够完善(参考资料少、实用案例少、工具选型少),然而在这两年随着测试环境的生态逐步完善,性能测试也就不那么难了!测试目标通过wetest测试工具,找出系统能够承受的最大压力,并找出性能瓶颈。本次要测试的为微信小游戏的后台服务器性能问题。测试资料准备接口文档(以便测试人员了解各个接口的...

2019-06-20 22:25:57 909

原创 我精心珍藏的Python代码技巧

01.****简洁的表达式image点评:Python因为简洁高效而出名,就是因为语法非常简单,而且内置了很多强大的数据结构:比如我们可以大量用推导列表来生成很多简洁的代码比如我们可以用if else组合,本来需要2-3行代码写的,一行搞定!02.****排序忽略想起了一句台词,“有人的地方就有江湖”,那么有数组这样的数据结构一定涉及到排序,取最大值,取最小值。...

2019-06-19 22:54:56 264

原创 多线程百度网盘爬虫Python完整源码

#coding: utf8 import re #正则表达式模块 import urllib2 #获取URLs的组件 import time from Queue import Queue import threading, errno, datetime import json import requests #Requests is an Apache2 Lice...

2019-06-19 08:34:36 2353 1

原创 一行代码蒸发64亿人民币!黑客盯上区块链漏洞!Python真的变态!

此前认为,区块链技术由于分布存储、加密算法等技术的应用,拥有了不可篡改、可追溯等被认为是“万无一失”的特性。然而,该特性主要针对存储在区块中的信息来说,以文中开头的案例为例,区块链技术保障了可以追溯到这64亿转移到了哪里,黑客的操作也会被系统不可篡改地记录,却并不能“拒绝”黑客对底层代码的篡改,保护虚拟数字货币。区块链技术本身存在漏洞可以被利用。“利用区块链技术,成了犯罪分子非法获利的新手段。...

2019-06-18 22:23:52 550

原创 月薪30K程序员花了一个小时,用c++做出经典扫雷游戏 !

上次发过一个俄罗斯方块的游戏源码,由于是通过Easy X实现的,但是很多和我一样的新手,一开始不知道Easy X是什么,到时源码拿过去之后,运行报错,我这次发的扫雷,也是通过Easy X实现,Easy X是很多和我一样的新手在学习的时候用到的一个绘图工具,毕竟都不想天天对着一个黑漆漆的控制台,所以今天我发扫雷的源码的时候,会附赠上Easy X的安装程序。同样这个扫雷的小游戏是很多和...

2019-05-10 22:50:41 366

原创 2019年1月份GitHub上最热门的Java开源项目

相信大多数程序猿们都回归工作岗位啦,不知道是否调整好心态了呢?1月份GitHub上最热门的Java开源项目新鲜出炉,还是一起来看看都有哪些项目上榜吧:1JavaGuidehttps://github.com/Snailclimb/JavaGuide Star 22668【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。2advanced-javaht...

2019-03-30 22:35:51 189

原创 听说java又过气了?看我运用大数据分析2019年java发展趋势!

近些年的技术圈,单以计算机语言界来说,稳坐第一把太师椅的 Java “或将被取代”、迎接转折点、Java 项目工程师风光不再等言论不绝于耳。在焦虑的大环境下,所有人好像都看起来很焦虑不安。针对这类“唱衰论”,也不难理解。不仅,基于 Java 技术自身来讲,Oracle 为此前版本三番五次地“晚到”,最后下决心会以六个月为期限加速 Java 的上架频率,可是针对开发人员来讲,做为开发环境更新速率...

2019-03-30 22:33:53 314

原创 这是2019年适合Java程序员读的10本书

除了为经验丰富的Java开发人员(他们更倾向于学习架构方面的知识,关于云、微服务、Java 9和Spring 5开发等)推荐了一些书籍,同时也为那些初级程序员或经验相对缺乏的Java开发者推荐一些适合在2019年学习的书,下面还是来看看详细书单吧,尽管书单不是很长,但是都很棒,即便在上班路上也能轻松阅读1. 《Effective Java 3rd Edition》如果你还没有读过这本...

2019-03-30 22:31:22 400

原创 java中堆和栈有什么区别?

堆和栈都是Java用来在RAM中存放数据的地方。一、堆(1)Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。(2)堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运行时动态分配的。但缺点是,由于需要在运行时动态分配内存,所以存取速度较慢。二、栈(1)栈中主要存放一些基本数据类型的变量(b...

2019-02-24 19:24:20 2570 1

原创 Java单例模式的七种写法

第一种(懒汉,线程不安全):public class Singleton {private static Singleton instance;private Singleton (){}public static Singleton getInstance() {if (instance == null) {instance = new Singleton();}...

2019-02-24 19:23:31 207 1

原创 Java8特性解决空指针问题

在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示:在这种情况下,有如下代码这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下面的写法这种写法是比较丑陋的,为了避免上述丑陋的写法,让丑陋的设计变得优雅。J...

2019-02-24 19:22:09 2139 1

原创 常用的Java快捷键有哪些

不知道Java常用的快捷键在工作的时候是非常的耽误时间的,本篇文章小编就为大家稍微整理了一些常用的Java快捷键分享给大家。  Ctrl+1或F2快速修复  Ctrl+D快捷删除行  Shift+Enter 快速切换到下一行,在本行的任何位置都可  Ctrl+F11快速运行代码  Alt+上下键 快速移动行(可多行)  Ctrl+M 将光标焦点所在区域的视图变大  ...

2019-02-24 19:21:00 271 1

原创 图解Java常用数据结构

最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程.主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList LinkedHashMap中的双向列表不再是回环的.HashMap中的单链表是尾插, 而不是头插入等等, 后文不再赘叙这些差异, 本文目录结构如下:LinkedList经典的双链表结构, 适用...

2019-02-24 19:20:01 235

原创 Java 对象之死

如何判断对象“无用”?关于判断对象是否无用的算法,在JVM的发展过程中出现过两种算法:一种是引用计数和根集算法。引用计数算法例如下图中的object1的引用计数是2,GC的时候不回收,object6、object7引用计数为0,GC的时候要被回收。引用计数有个缺点:当引用产生闭环的时候即便是对象实际上已经“无用”也无法回收了,例如下图中的 ,object4、object5、object...

2019-02-23 20:55:44 206

原创 理解 Java 核心基础精髓

1、字符串不变性下面这张图展示了这段代码做了什么String s = "abcd";s = s.concat("ef");2、equals() 方法与 hashCode() 方法的区别HashCode 被设计用来提高性能。equals() 方法与 hashCode() 方法的区别在于:如果两个对象相等(equal),那么他们一定有相同的哈希值。如果两个对象的哈希值相...

2019-02-23 20:55:07 2627 7

原创 2019年GitHub上最热门的Java开源项目

1JavaGuidehttps://github.com/Snailclimb/JavaGuide Star 22668【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。2advanced-javahttps://github.com/doocs/advanced-java Star 7752本系列知识出自中华石杉,可以作为互联网 Java 工程师进...

2019-02-23 20:54:29 3145 4

原创 java new一个对象的过程中发生了什么

java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。一、类加载过程(第一次使用该类)java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们先看一下它的工作过程:双...

2019-02-23 20:53:44 1941

原创 10大最高效的Java库盘点

1. Java 标准库不用怀疑,我说的就是Java标准库,很多人都低估了或者没有完全了解Java标准库,并且不知道如何在编程的时候使用它,有些人甚至都不用它,下面说一些Java标准库的简要说明● java.lang:总是默认被导入,因为它基本包含开发中需要的Java 类型:String,Double,Enum,Math,等● java.util:包含Java中可用的所有集合和数据结构...

2019-02-22 21:03:56 422

原创 Java中的变量、数据类型和运算符

1. java语言是一种强类型的语言,对各种数据类型都有明确的区分,而计算机使用内存来记忆大量运算时需要使用的数据,而当声明一个变量时,即在内存中划分一块空间存储数据,而变量类型决定划分内存空间的大小。2.基本数据类型:byte:最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127short:短整型,在内存中占2个字节,取值范围-32768~32717in...

2019-02-22 21:03:26 391

原创 Java中AJAX工作原理是什么

AJAX 指异步JavaScript 及XML(Asynchronous JavaScript And XML)。  传统的Web应用允许用户填写表单(form),当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖...

2019-02-22 21:01:33 1048

原创 Java 即将迎来转折点?

嵌入式 Java我并没有看到这个领域有什么变化。Oracle 完全放弃了在该领域的开发,已经不再提供支持非常流行的 ARM 架构的嵌入式应用程序的二进制文件了。但是,我预测今年嵌入式应用程序中的 Java 应用将会增长。主要原因有三个:Java ME我觉得已经可以说,Java ME 已经死了。虽然去年 Java ME 工作组还做过一些工作将其移植到 JCP 下,但这项工作会在三月份...

2019-02-22 21:00:48 155

原创 大家对Java的一些误解

1. System.exit(0)会跳过finally块的执行  System.setSecurityManager(new SecurityManager() {  @Override  public void checkExit(int status) {  throw new ThreadDeath();  }  });  try {  System.exit...

2019-02-22 16:49:53 145 1

原创 java编程思想泛型对混入的详细探讨

混入的概念把多个类的能力混合在一起产生一个能代表所有混入类的类型的类。the fundamental concept is that of mixing in capabilities from multiple classes in order to produce a resulting class that represents all the types of the mixins...

2019-02-20 22:17:18 217

原创 高效Java第六条消除过期的对象引用无意识的对象保持

问题的引出这段程序有一个“内存泄露”,随着GC活动的增加,或者由于内存占用的不断增加,程序性能降低会逐渐表现出来。在极端的情况下,这种内存泄露会导致磁盘交换,甚至导致程序失败(OutOfMemoryError),但是这种失败情况相对比较少见。  内存泄露的地方:一个栈先是增长,然后再收缩,那么,从栈中弹出来的对象将不会被当做垃圾回收,即使使用栈的程序不再引用这些对象,它们也不会被回收。...

2019-02-20 22:16:33 329

原创 Java开发领域的大牛有哪些

Java开发领域的大牛有哪些  1、James Gosling  在他12岁的时候,他已能设计电子游戏机,帮忙邻居修理收割机。大学时期在天文系担任程式开发工读生,1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:"The Algebraic Manipulation of Constraints"。毕业后到IBM工...

2019-02-20 22:15:41 245 1

原创 想学习大数据的同学一定要学习Java吗

一、学习大数据,一定要学习java吗?首先,大家要清楚一点,学习Java的目的是什么,Java它本身是一门计算机编程语言,而进入大数据的学习,无论你有何基础,是零基础还是有过相关的学习经验,都至少有一门计算机编程语言的加持,这就好比上战场必须有门锋利的武器,有了编程语言在手,才能在大数据的天地中放手一搏!所以,学习大数据,自然要去学习Java,不是皮毛,而是精通,当然大家如果可以熟练掌握其他编...

2019-02-20 22:14:17 235

原创 Java设计模式:单例模式

设计模式(Design Pattern):是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结。目的:使用设计模式是为了可重用性代码,让代码更容易被他人理解,保证代码可靠性。本文将会用到的关键词:单例:Singleton实例:instance同步:synchronized类装载器:ClassLoader单例模式:单例,顾名思义就是只能有一个、不能再出现...

2019-02-20 19:17:46 156 1

原创 Java开发领域的大牛有哪些

Java开发领域的大牛有哪些  1、James Gosling  在他12岁的时候,他已能设计电子游戏机,帮忙邻居修理收割机。大学时期在天文系担任程式开发工读生,1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:"The Algebraic Manipulation of Constraints"。毕业后到IBM工...

2019-02-20 19:16:54 2167

原创 想学习大数据的同学一定要学习Java吗

一、学习大数据,一定要学习java吗?首先,大家要清楚一点,学习Java的目的是什么,Java它本身是一门计算机编程语言,而进入大数据的学习,无论你有何基础,是零基础还是有过相关的学习经验,都至少有一门计算机编程语言的加持,这就好比上战场必须有门锋利的武器,有了编程语言在手,才能在大数据的天地中放手一搏!所以,学习大数据,自然要去学习Java,不是皮毛,而是精通,当然大家如果可以熟练掌握其他编...

2019-02-20 19:16:08 142

原创 你知道Java的四种引用类型吗

在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用。在这四个引用类型中,只有强引用FinalReference类是包内可见,其他三种引用类型均为public,可以在应用程序中直接使用。引用类型的类结构如图所示。1.强引用Java中的引用,类似C语言中最难的指针。(我是C语言入门编程,指针的概念还是很深入我心。)通过引用,可以对堆中的对象进行操作。如:StringBuffe...

2019-02-19 22:26:05 136 1

原创 学Java方向的学生如何找实习的工作?

是这个大三的学生,是学Java方向的,我想知道,实习的工作好找吗?应该会什么?目前会SE、EE,数据库MySQL、 sqlserver。sql语句也会,C语言,c++也会一点。可以用框架做增删改查。这样够了吗?不好找。某种意义上来讲,找实习比找工作还要难。为什么?你就会一点增删改查,我让你来实习干什么呢?你可能想,只要能学到东西,不给钱都行。但公司的想法是,就算不给工资,投入精...

2019-02-19 22:25:07 2153

原创 Java转JSON串的几种方式

以下总结一下java转JSON串的几种方式:1、将java对象转成json串2、通过JSONObject生成json串3、通过json字符串生成json串代码通过阿里的fastjson包实现。代码如下:1、Person类,包含Crad的Listpackage com.doit8.test.jsontest.pojo;import java.util.ArrayLis...

2019-02-19 22:24:27 2773

原创 java学习书籍推荐

一、Java编程入门类  对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。  1、《Java编程思想》  在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思...

2019-02-19 22:23:37 180

原创 盘点常用Java排序算法

  本文主要介绍Java的七种常见排序算法的实现,对选择排序、插入排序、冒泡排序、归并排序、快速排序、希尔排序、最小堆排序进行原理分析与实例介绍,下面一起来看一下吧:  一、选择排序(SelectSort)  基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二次比较,得到最小的记录并与第二个记录...

2019-02-19 21:43:28 123

原创 优秀Java程序员的编程风格

来自《The Elements of Java Style》-《Java编程风格》一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快!  好处不多说了,但是有几个原则如下:  1.保持原有风格  2.坚持最小惊奇原则  3.第一次就做对  4.记录所有非规范行为  格式规范:  1.缩进嵌套的代码:在每个代码块和嵌套中加入缩进,缩进代码,加强可读性。这些...

2019-02-18 21:38:10 132

原创 Java中的迭代与递归

递归提到迭代,不得不提一个数学表达式: n!=n*(n-1)*(n-2)*...*1有很多方法来计算阶乘。有一定数学基础的人都知道n!=n*(n-1)!因此,代码的实现可以直接写成:代码一int factorial (int n) {if (n == 1) {return 1;} else {return n*factorial(n-1);}}在执行以上...

2019-02-18 21:37:16 131

原创 高效遍历Java容器

Java 程序员经常使用容器,比如 ArrayList 和 HashSet。Java 8 中的 lambda 语法和 steaming API 可以让我们更方便的使用容器。大部分情况下,我们仅仅处理几千个元素,也不会去考虑性能问题。但是,在一些极端场景下,如果我们需要遍历上百万个元素,性能问题就凸显出来了。本文将采用 JMH 计算每块代码的运行时间。forEach vs. C Style ...

2019-02-18 21:36:23 111

原创 Java中String相关类型的区别

Character1、char占两个字节,Character是char的包装类型2、范围是\u0000~\uffff3、缓存128位ASCII码4、valueOf(char->Character)当创建一个Character时建议调用此方法提高性能5、第0平面0000~FFFF的CodePoint使用一个char表示,其他平面的CodePoint使用高位代理+低位代理两个...

2019-02-18 21:35:24 159

原创 Java基本数据类型

     数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。Java基本数据类型数据类型是语言的抽象原子概念,可以说是语言中基本的单元定义,Java语言提供了八种基本类型。六种数字类...

2019-02-18 21:34:13 99

原创 Java中整型的缓存机制

本文将介绍Java中Integer的缓存相关知识。这是在Java 5中引入的一个有助于节省内存、提高性能的功能。首先看一个使用Integer的示例代码,从中学习其缓存行为。接着我们将为什么这么实现以及他到底是如何实现的。你能猜出下面的Java程序的输出结果吗。如果你的结果和真正结果不一样,那么你就要好好看看本文了。package com.javapapers.java;public cla...

2019-02-17 21:02:50 100

空空如也

空空如也

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

TA关注的人

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