自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java和Python的算法数据结构面试问题

有很多计算机科学专业毕业生和程序员在Uber和Netflix等公司申请编程,编码和软件开发职位。亚马逊,微软和谷歌等大型组织; 和Infosys或Luxsoft等基于服务的公司。但是,当你申请这些公司的工作时,他们中的许多人都不知道会有什么样的编程面试问题。在本文中,我将分享一些常见问题的算法和数据结构面试问题,这些问题来自不同层次经验的程序员,从刚从大学毕业的人到具有一到两年经验的程序员。...

2019-06-10 21:53:56 607 1

原创 十个编码过程中的“坑”,一篇文章帮你填平了!

数据科学家是“比任何软件工程师都更擅长统计学、又比任何统计学家都更擅长软件工程”的人。许多数据科学家都有统计学背景,但在软件工程方面经验很少。本文列出了常见的10个编码错误,希望你能认真阅读并避免它们。1. 没有共享代码中引用的数据数据科学既需要代码也需要数据。因此,其他人要能够获取数据才能重现结果。这听起来是很基本的要求,但很多人都忘记和代码一起共享数据。importpanda...

2019-06-10 19:03:05 329

原创 在成为Java软件工程师的20年,我学到了哪些?

我于1999年创建“费城地区Java用户群”并领导其20年后,决定辞去职位,将领导职务传递下去。是时候交接了。遥想我们第一次聚会,25名Java开发者聚在一家不知名的小互联网公司,吃着披萨,听关于XML和JAXP的展示。自那以后,我们举行了大约100场活动(有些活动有多达200人与会),我们的邮件列表曾多达1500名订阅者。  通过运营该组织,我发现了一些规律,可能会对其他组织(或...

2019-05-31 22:34:18 313

原创 你所不知道的有关编码的编程真相

当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶:  一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入终的产品的代码 — —不管他的技术水平有多高。 好的程序员花去90%的时间在思考、研究和实验,来找出优方案。差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种...

2019-05-31 22:31:27 192

原创 Java编程入门之读取和执行周期:机器语言

计算机是一个由不同组件构成的复杂系统。但其心脏,或称为大脑,是进行实际计算的组件,我们称其为中央处理器(Central Processing Unit,CPU)。在现代的台式计算机中,CPU是一块约一平方英寸大小的芯片,它的工作是执行程序。  一个程序仅仅是一些无歧义的、由计算机机械地执行的指令。计算机能够执行那些由一种叫机器语言(Machine Language)所编写的指令,并...

2019-05-31 22:30:17 642

原创 你的Java代码对JIT编译友好么?

JIT编译器是Java虚拟机(以下简称JVM)中效率高并且重要的组成部分之一。但是很多的程序并没有充分利用JIT的高性能优化能力,很多开发者甚至也并不清楚他们的程序有效利用JIT的程度。  在本文中,我们将介绍一些简单的方法来验证你的程序是否对JIT友好。这里我们并不打算覆盖诸如JIT编译器工作原理这些细节。只是提供一些简单基础的检测和方法来帮助你的代码对JIT友好,进而得到优化。...

2019-05-31 22:27:54 210

原创 Java中的常量:如何避免反模式

在应用中,我们往往需要一个常量文件,用于存储被多个地方引用的共享常量。在设计应用时,我也遇到了类似的情况,很多地方都需要各种各样的常量。  我确定需要一个单独的文件来存储这些静态公共常量。但是我不是特别确定是应该用接口还是类(枚举不满足我的需求)。我有两种选择:  使用接口,如:  package one;  public interface Constants {  St...

2019-05-31 22:25:50 300

原创 企业级Java应用重要的4个性能指标

应用性能管理(APM)是一种即时监控以实现对应用程序性能管理和故障管理的系统化解决方案。目前主要指对企业的关键业务应用进行监测、优化,终达到提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT成本的目标。  虽然很多人都曾预言Java将一蹶不振,但是不可否认的是,很多重要项目中,尤其是银行和政府一些大型项目,Java仍在其中扮演着极其重要的角色。国内APM领军企业OneAP...

2019-05-31 14:27:37 569

原创 30多年的软件经验,总结出10个编写出更好代码的技巧

30 多年的软件经验,总结 10 个最佳妙招。那么,何以敲出一手好代码?好代码可以定义为易读、易懂、易调试、易改,最重要的还要少缺陷。显然,要想敲出一手好代码,是要花不少时间,但这在长久来看是有意义的,因为你可以花更少时间及精力去维护和复用你的代码。事实上,我们可以将好代码等同于可复用的代码,这也是下面提到的重要原则之一。代码可能只是完成了编程工作中短期目标的特定功能,但如果没人(...

2019-05-30 22:19:42 258

原创 如何让你的代码好维护

先说说我们不喜欢的代码长什么样子,大函数,超过500行,甚至超过1000行; 大量的hard coding; if和else if中有明显的条件关联性; 注释和代码逻辑不符合,函数名与功能不符合; 命名英文拼音混杂,不少英文拼写错误; 。。。说实话,这些问题很常见,无论是大厂,还是小团队。问题出现了,想出怎么解决才是关键。每个团队都可以制定一套适合代码规范,不过光有代码规...

2019-05-30 22:16:37 556

原创 老码农冒死揭开行业黑幕:如何编写无法维护的代码

如何编写无法维护的代码简介永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能。— 拿破仑为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而且,如果你能对照秘籍潜心修炼,你甚至可以给自己弄个铁饭碗,因为除了你之外,没人能维护你写的代码。再而且,...

2019-05-30 22:15:01 904

原创 软件开发人员必须具备的一些软技能,否则只能是码农!

软件开发人员(程序员,码农)除了写好代码之外,更需要在身体上、精神上和心灵上更强大、更健康。一个软件开发人员的成长,离不开软技能.软技能就是激活人资的能力,即是调动别人的资源和知识的能力以及调动自己知识进行创造性思维的能力!软技能能力值越高,处理事情的能力就越强,它是衡量一个人处理事情能力的量表!一、学会快速找到可以copy的经验老鸟说:软件开发=英语+搜索,软件开发作为一门应用性很强的学...

2019-05-30 22:12:28 463

原创 为什么很多公司都不招大龄程序员?

关于大龄程序员的发展问题绝对是程序员话题讨论榜单上的「定海神针」之一,无论是刚工作的程序员还是比较资深的程序员,对于所谓的「中年危机」十分警惕和关心。最近有人在论坛上抱怨,给他推荐机会的猎头同学告知他,大部分的互联网公司不会招聘 32 岁以上的纯开发。关于这个问题,offer 君有些市场洞察忍不住分享给大家:首先,公司是不是不招大龄纯开发?是,大龄程序员找纯技术方向的工作挺难的,但并不...

2019-05-30 22:11:02 871

原创 全球最厉害的14位程序员!你都认识谁

全球最厉害的14位程序员是谁,你知道的有几位呢?以下排名不分先后:1. Jon Skeet个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在425个左右。个人简介/主要荣誉:谷歌软件工程师,代表作有《深入理解C#(C# In Depth)》。网络上对Jon Skeet的评价:“他根本不需要调试器,只要他盯一下代码,错误之处自会...

2019-05-30 22:08:07 3594

原创 程序员要避免的10个坏习惯,看完终身受益

一、休息不够我敢肯定你们很多人或者说几乎所有人都对这个坏习惯感到十分罪恶。我也是,对没有休息或休息不够依然有罪恶感。曾有一段时间,我凌晨六点入睡,中午一点左右起来吃午饭,一直工作到第二天凌晨六七点。这简直太常见了,几乎每天都是如此。在工作任务紧急的时候,我做过许多可笑的事情。我想我们每个人面对DDL的时候都有过这样的情况,我要说的不是这种,而是你的日常习惯。我建议你每天尽量多休息。我不能说...

2019-05-30 22:06:29 184

原创 程序员是吃青春饭的?一张图道尽程序员的发展方向

进入一个行业,开始一份工作,不论在最初的时候,你是因为喜欢还是被动接受,或多或少的都会成为你一段时间内为之奋斗的事业。边工作边迷茫也许是大多数人的常态,觉得这份工作不适合自己,可又不知道应该去做什么;喜欢着自己的工作,却又不知道怎么进一步提升,内心难免焦躁。尤其是随着年龄的增长,更希望能够在事业上有所发展。有人说,程序员真的只能吃青春饭,企业在招聘时会在意程序员的年龄,大龄程序员...

2019-05-30 22:04:33 181

原创 在什么情况下Java比C++快?

在什么情况下Java比C++快?  回复者:Cameron Purdy,Oracle中间件高级工程师。  这是根据我同时使用C++和Java工作超过20年所学到的,其实使用Java比C++还要早几年:  1、根据我的经验,当你把优化过的C++代码转换成Java代码,代码的速度会慢大约三倍。  2、根据我的经验,把Java代码转换成C++的代码,速度同样也会慢三倍。首先,这种比较...

2019-05-30 22:01:12 924 1

原创 我用JAVA做了个简易图像相似度计算器

笔主利用这个周末前后两天的寂寞时光,用JAVA磨了一个简单的图像相似度计算小程序,在刚才终于纠结完毕,输出了1.0版本,小小的满足了一下可怜的虚荣心..  UI设计图:  实际运行效果图:  关键算法:1 // 全流程2 public static void main(String[] args) throws IOException {3 // 获取图像4...

2019-05-28 15:20:17 491

原创 Java版微信机器人代码

package com.eiyoung.wechat.web.controller; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpSer...

2019-05-28 15:09:32 6019 4

原创 手把手带你完成期末作业——贪吃蛇Java版

完全自己写的小程序,主要难点在控制蛇身的运动上,已经较好的解决,不完善的地方是没有进行画面双缓冲,但刷新频率较低,所以闪烁现象较不明显。  界面如下: importjava.awt.*; import java.awt.event.*; import java.util.List; import java.util.ArrayList; publ...

2019-05-28 14:41:28 1267 1

原创 Java语言与C++语言的差异总结

Java的设计者曾说过,设计这门语言的灵感主要来自于C++。  世上先有C++,然后才有Java,整个Java语言的发展历史是一部对C++的填坑史。所以在Java语言学习过程中,将其与C++语言对比是一件有意义的事情。通过这些对比,我们能够了解到Java语言相对于C++语言有哪些改进,能带给我们哪些进步,这样对于更加深入理解这两种语言是大有裨益的。  下面我总结一下Java语言与...

2019-05-28 14:28:12 314

原创 Java中的String为什么是不可变的?

 什么是不可变对象?  众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。  区分对象和对象的引用  对于Java初...

2019-05-24 22:35:16 141

原创 Java Executor 框架学习总结

大多数并发都是通过任务执行的方式来实现的。一般有两种方式执行任务:串行和并行。  class SingleThreadWebServer {  public static void main(String[] args) throws Exception {  ServerSocket socket = new ServerSocket(80);  while(true) {...

2019-05-24 22:32:50 127

原创 Java判断两个时间相差的天数

1、实现目标  输入:两个日期  输出:两个日期相差的天数  2、代码实现  方法1:  通过Calendar类的日期比较。注意:这里需要考虑一下:  日期是跨年份的,如一个是2012年,一个是2015年的  年份是分闰年和平年的,各自的天数不同/*** date2比date1多的天数* @param date1* @param date2* @return*...

2019-05-24 22:10:29 714

原创 诊断Java中的内存泄露

每次我怀疑有内存泄漏时,我都要翻箱倒柜找这些命令。所以,这里总结一下以备后用:  首先,我用下面的命令监视进程:  while ( sleep 1 ) ; do ps -p $PID -o %cpu,%mem,rss ; done  (如果有的话还有New Relic)  如果你看到内存上升很快,可能是因为虚拟机设置。如果你没有明确指定JVM的内存设置,它将设置默认值给他们。要获得默认值...

2019-05-24 22:06:27 243

原创 Java实现生命周期管理机制

先扯再说  近一直在研究某个国产开源的MySQL数据库中间件,拉下其新版的代码到eclipse后,启动起来,然后做各种测试和代码追踪;用完想要关闭它时,拉出它的STOP类想要运行时,发现这个类里赫然只写以下几行代码,于是我感觉瞬间受到了很多伤害。 public static void main(String[] args) { System.out.println(n...

2019-05-24 22:04:44 538

原创 利用Java内置的API开发JMX功能

一、什么是JMX  JMS是一种Java规范,定义了如何管理一个软件系统(或应用程序)的规范。 对于一个简单的应用程序,该程序本身不需要被管理。但如果是开发的一个复杂系统(如一个电商平台、一个企业内部管理系统),则该系统本身也需要被管理,如需要了解这个软件的运行情况,比如某些状态是否正常、当前登录用户数,还有可能需要动态的调整系统的某些参数,如数据库链接池的大小、某些缓存的大小。  JMS是定...

2019-05-24 22:02:07 356

原创 通过Java发送http请求

通常的http请求都是由用户点击某个连接或者按钮来发起的,但是在一些后台的Java程序中需要发送一些get或这post请求,因为不涉及前台页面,该怎么办呢?下面为大家提供一个Java发送http请求的工具类 HttpRequest.javapackage org.javahttp.test;import java.io.BufferedReader;import java.io.IOExc...

2019-05-24 21:59:58 1112

原创 Java对象排序、中文排序、SortedSet排序使用和源码讲解

在C、C++中有很多排序算法,但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,通过:Collections.sort(list)那么这个list被排序了,排序终调用的是Arrays.sort方法来完成的,所以数组自然是用Arrays.sort了,而SortedSet里面内部也有排序功能也...

2019-05-24 21:56:55 495

原创 Java之JScrollPane:打造一个QQ好友聊天窗口

程序代码:package com.os.frame;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import java...

2019-05-24 21:53:49 332

原创 Java字符串的10大热点问题盘点

 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧:  1、如何比较字符串,应该用”==”还是equals()?  总的来说,”==”是用来比较字符串的引用地址,而equals()才是比较字符串的值。两个值相同的字符串用”==”比较结果有可能是false,而用equals()则一定为true。除非两个字符串是同一个new出来的对象,...

2019-05-24 21:51:53 205

原创 Java自动根据文件内容的编码来读取避免乱码

通过cpdetector这个开源的jar包可以自动判断当前文件的内容编码,从而在读取的时候选择正确的编码读取,避免乱码问题。测试结果,提供截图:package com.zuidaima.test;import info.monitorenter.cpdetector.io.ASCIIDetector;import info.monitorenter.cpdetector.io.Code...

2019-05-23 22:41:21 465

原创 Java中Comparator接口与Comparable接口的区别

1. Comparator 和 Comparable 相同的地方  他们都是java的一个接口, 并且是用来对自定义的class比较大小的,  什么是自定义class: 如 public class Person{ String name; int age }.  当我们有这么一个personList,里面包含了person1, person2, persion3....., 我们用Coll...

2019-05-23 22:39:49 185

原创 关于编写Java程序让Jvm崩溃

在书上看到一个作者提出一个问题“怎样通过编写Java代码让Jvm崩溃”,我看了之后也不懂。带着问题查了一下,百度知道里面有这样一个答案:1 package jvm;23 public class Crash {4 public static void main(String[] args) {56 //Object[] o = {“abc”};初始值赋值,不会有...

2019-05-23 22:37:32 397

原创 Java程序员需要学习C/C++函数吗?

  (1)函数原型:extern char strstr(char *haystack,char *needle);  用法:#include<string.h>  功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)返回指向第一次出现needle位置的指针,如果没有找到则返回NULL。  (2)函数原型:extern float ...

2019-05-23 22:30:32 890

原创 用JavaScript编写Java虚拟机?谈谈哗众取宠的BicaVM

目睹某网络新闻,开篇明义便包含如下几行文字【程序员Artur Ventura,这位超级大牛,用JavaScript写了一个java虚拟机BicaVM】继而再读,惊见其中“超级大牛”、“神人”等溢美之词不绝于耳,崇拜、神往之心溢于言表。仿佛BicaVM是天上有地下无的创举,仿佛Artur Ventura是继比尔盖茨,乔布斯之后的第三位IT业领军人。然而很可惜,小弟准备要“侮辱”一下这位“大牛”了。...

2019-05-23 22:23:24 275

原创 如何用Java将excel数据导入数据库

近写了点关于将excel导入数据库的代码,当然也可以看做是对前面所介绍的小项目进行补充所做的准备。我一般都是先完成功能,然后将其封装成块,再添加到项目中,个人癖好不值得借鉴。项目中关于解析excel数据的方式请参考:http://blog.csdn.net/trsli/article/details/17392943这是已经成功插入数据化数据库中数据的记录,我新建的表为db.这是在控制台...

2019-05-23 22:21:17 787

原创 Java浅克隆与深克隆,你确定会了吗?

浅克隆:package testclone;public class ShallowClone implements Cloneable {public String name;public String[] name2;public ShallowClone() {name2 = new String[2];}public Object clone() {ShallowClon...

2019-05-23 21:59:10 158

原创 Java编写交通灯管理系统

交通灯管理系统需求:  模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:  异步随机生成按照各个路线行驶的车辆。  例如:  由南向而来去往北向的车辆 ---- 直行车辆  由西向而来去往南向的车辆 ---- 右转车辆  由东向而来去往南向的车辆 ---- 左转车辆  。。。  信号灯忽略黄灯,只考虑红灯和绿灯。  应考虑左转车辆控制信号灯,右转车辆不受信号灯控...

2019-05-23 21:56:40 739

原创 Java是解释型语言还是编译型语言

有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。  对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行...

2019-05-23 21:54:28 1143

空空如也

空空如也

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

TA关注的人

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