先说说转Java的事
我实习回来没几天, @佛爷 和 @子健 就找我谈换技术栈,我当时还挺郁闷的。
刚转 Python 不到两年,而且 Python 本身就很适合小团队,为啥要换呢?
聊完之后我明白了,关键是 Java “方便找工作”。 @子健 也提到,他在阿里实习生群里统计了一下:
总共两百多人,三十多个前端,七八十个 Java,一百多个算法。Python 在国内还是太小众了,
工作岗位太少,大公司用 Python 也只是做运维之类的工作。
大公司用的后端语言主要还是 Java 和 C++,笔试面试除了考算法,主要也就考这两门语言,
毕业后想去 BAT 的话,转 Java 有很大优势。
继续阅读 »
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。
Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本。
下面是两个类的不同之处:
当nextLine()被用在nextXXX()之后,用Scanner类有什么问题
尝试去猜测下面代码的输出内容;
// Code using Scanner Class
import java.util.Scanner;
class Differ
{
public static void main(String args[])
{
继续阅读 »
goto语句一直被人所诟病,说它使得代码结构复杂化,但是语言设计者们还是没有放弃goto这个功能强大的语句。Java以面向对象所著称也没能够放弃goto,而是把它当做保留字,但是并未在语言中得到正式使用。
然而,从Java的break和continue这两个关键字的身上,我们依然能够看出一些goto的影子。
下面是《Thinking In Java 4th》中关于“goto”的介绍:
臭名昭著的“goto”
goto 关键字很早就在程序设计语言中出现。事实上,goto 是汇编语言的程序控制结构的始祖:“若条件A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多
跳转。然而,got
继续阅读 »
Java访问修饰符
|访问修饰符|作用范围|
|---|---|
|public| 完全开发|
|private|只能本类访问|
|protected|同包及子类访问|
|default(无修饰符时)|同包访问|
Java用于类的修饰符(2个)和限定符(2个)
|访问修饰符|作用范围|
|---|---|
|public| 完全开发|
|default(无) |同包访问|
注意:内部类可以拥有更多的访问修饰符
more
|限定符|描述|
|---|---|
|abstract|指定为抽象类|
|final|指定为最终类,不可被继承|
Java用于成员变量的修饰符
public
protected
private
继续阅读 »
这里收藏工作中用到的下载地址,也为了防止做重复的搜索工作,同时分享给大家。
more
java相关
api
https://docs.oracle.com/javase/8/docs/api/index.html
javase
http://www.oracle.com/technetwork/java/javase/downloads/index.html
server-jre8
http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html
linux wget下载
java8 wget --no-check
继续阅读 »
1)如果系统已经安装java,通过以下方式设置java相关环境变量:
$ ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Mar 20 14:49 /usr/bin/java -> /etc/alternatives/java
$ ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Mar 20 14:49 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java
继续阅读 »
class的装载
在讲class的初始化之前,我们来讲解下class的装载顺序。
以下摘自《Thinking in Java 4》
由于Java 中的一切东西都是对象,所以许多活动
变得更加简单,这个问题便是其中的一例。正如下一章会讲到的那样,每个对象的代码都存在于独立的文件
中。除非真的需要代码,否则那个文件是不会载入的。通常,我们可认为除非那个类的一个对象构造完毕,
否则代码不会真的载入。由于static 方法存在一些细微的歧义,所以也能认为“类代码在首次使用的时候载入”。
首次使用的地方也是static 初始化发生的地方。装载的时候,所有static 对象和static 代码块都会按照本
来的顺序初始化(亦即它们在类定义
继续阅读 »
在java中用到的最多的时间类莫过于 java.util.Date了
由于Date类中将getYear(),getMonth()等获取年、月、日的方法都废弃了
所以要借助于Calendar来获取年、月、日、周等比较常用的日期格式
注意:以下代码均已在jdk1.6中测试通过,其他版本可能使用不同,请注意!
Date与String的互转用法
/**
* Date与String的互转用法,这里需要用到SimpleDateFormat
*/
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
继续阅读 »
在服务请求中,通过HTTP的方式发送POST或者GET是最常见的请求方式。下面介绍JAVA中常用的POST、GET请求方式。
POST
实现代码
java
public static void sendMessage(String url, String message) {
try {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setDoOutput(true); //表示只写数据
conn.setRequestProperty("Content-Ty
继续阅读 »
1.Java与C++的异同
Java解释性语言:源代码-编译器(字节码)-JVM执行
C/C++编译型语言:编译链接成二进制代码
Java不存在全局变量,全局函数,没有指针,不支持多重继承,不支持运算符重载,没有预处理器,不提供goto语句(但保留关键字),不支持自动强制类型转换,必须显式强制类型转换。
Java为纯面向对象语言,所有代码包括函数,变量等都属于类
继续阅读 »