Posts

  • Java基础知识

  • 1. 面向对象和面向过程的区别 面向过程 面向对象 2. Java 语言有哪些特点 3. 关于 JVM JDK 和 JRE 最详细通俗的解答 JVM JDK 和 JRE 4. Oracle JDK 和 OpenJDK 的对比 5. Java和C++的区别 6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同 7. Java 应用程序与小程序之间有那些差别 8. 字符型常量和字符串常量的区别 9. 构造器 Constructor 是否可被 override 10. 重载和重写的区别 11. Java 面向对象编程三大特性: 封装 继承 多态 封装 继承 多态 12. String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的 13. 自动装箱与拆箱 14. 在一个静态方法内调用一个非静态成员为什么是非法的 15. 在 Java 中定义一个不做事且没有参数的构造方法的作用 16. import java和javax有什么区别 17. 接口和抽象类的区别是什么 18. 成员变量与局部变量的区别有那些 19. 创建一个对象用什么运算符?对象实体与对象引用有何不同? 20. 什么是方法的返回值?返回值在类的方法里的作用是什么? 21. 一个类的构造方法的作用是什么 若一个类没有声明构造方法,该程序能正确执行吗 ?为什么? 22. 构造方法有哪些特性 23. 静态方法和实例方法有何不同 24. 对象的相等与指向他们的引用相等,两者有什么不同? 25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是? 26. == 与 equals(重要) 27. hashCode 与 equals (重要)...
  • 彩虹的数学

  • 将水滴看作圆球,光线入射到水滴中,经过一次反射,最后再经一次折射离开水滴。光路示意图如下图所示。 通过几何分析计算,可求得入射光偏转角\(\theta_D\)与入射角\(\theta_i\)的关系 \[\theta_D = 180^{\circ} + 2\theta_i - 4\arcsin(\frac{\sin\theta_i}{n})\] 其中,\(n\)为水的折射率,下图中\(n=4/3\). 净偏转角随入射角变化的曲线如上图所示。在入射角\(60^{\circ}\)附近,净偏转角最小,且净偏转角随入射角变化率几乎为0,大量不同入射角的光线最后具有几乎相同的出射方向。这就意味着,在这一出射方向,存在光线的密集效应。这就是我们看到彩虹所在的方向。 Python 3 code import numpy as np import matplotlib.pyplot as plt import os theta_i_list = np.arange(25,75,0.1) # def calc_theta_D(theta_i): n = 4/3 theta_r = np.rad2deg(np.arcsin(np.sin(np.deg2rad(theta_i))/n)) theta_D = 180 + 2*theta_i - 4*theta_r return theta_D # theta_D_list = calc_theta_D(theta_i_list) min_theta_D_idx = np.where(theta_D_list == np.min(theta_D_list))[0][0] min_theta_D = theta_D_list[min_theta_D_idx] min_theta_i = theta_i_list[min_theta_D_idx] fig = plt.figure() plt.plot(theta_i_list, theta_D_list) plt.xlabel(r'$\theta_i$') plt.ylabel(r'$\theta_D$') plt.axis([25, 75, 130, 170]) plt.plot([min_theta_i,min_theta_i],[min_theta_D, min_theta_D+20],'g--') str_note = '('+str(np.round(min_theta_i,2))+','+str(np.round(min_theta_D,2))+')' #plt.text(min_theta_i,min_theta_D-2, str_note) plt.scatter(min_theta_i,min_theta_D, s=40, c='r', alpha=0.5, marker='o') plt.annotate(str_note,(min_theta_i,min_theta_D), xycoords='data', xytext=(min_theta_i-10,min_theta_D+5), arrowprops = dict(arrowstyle = '->')) str_func = r"$\theta_D = 180 + 2\theta_i - 4\arcsin(\sin(\theta_i)/n)$"...
  • Using the arXiv API

  • Python 3 code import urllib.request as ur url = 'http://export.arxiv.org/api/query?search_query=all:electron&start=0&max_results=1' data = ur.urlopen(url).read() print(data) Ref: arXiv API
  • \(\LaTeX{}\) PPT Tutorial

  • Preview Example fallback content: This browser does not support PDFs. Please download the PDF to view it: Download PDF. \(\LaTeX{}\) Code beamer-tutorial.tex \documentclass[mathserif]{beamer} \usepackage{pgfplots} \usepackage{multicol} \usetheme[progressbar=frametitle]{metropolis} \setbeamertemplate{frame numbering}[fraction] \useoutertheme{metropolis} \useinnertheme{metropolis} \usefonttheme{metropolis} \usecolortheme{spruce} \setbeamercolor{background caanvas}{bg=white} % \usetheme{Warsaw} \definecolor{mygreen}{rgb}{.125,.5,.25} \usecolortheme[named=mygreen]{structure} \title{Functions, Limits, Derivatives} % \subtitle{Subtitle Here} \author{} \institute{\large \textbf{Learning Outcomes}:\\[6pt] Identify properties of elementary fuctions (formed by composition of power, exponential, logarithmic, and trigonomtric functions and their inverses)} \date{} \setbeamercovered{transparent=10} \begin{document} \metroset{block=fill} \begin{frame} \titlepage \end{frame} \begin{frame}[t]{Functions}\vspace{4pt} \begin{block}{Definition of a Function} \vspace{0.5em} A \textbf{function} $f$ is a rule that assigns to each element $x$ in a set $D$ exactly one element, called $f(x)$,...
  • Enable SSH on Ubuntu 18.04 Bionic Beaver Linux

  • Contents Objective Operating System and Software Versions Requirements Difficulty Conventions Instructions Enable SSH on Ubuntu Enable/Disable SSH on Ubuntu Objective The below guide will provide you with information on how to enable ssh on Ubuntu 18.04 Linux. SSH stands for secure shell which allows encrypted remote login connections between client and server over insecure network. Operating System and Software Versions - Operating System: - Ubuntu 18.04 Bionic Beaver - Software: - OpenSSH 7.5 or higher Requirements Privileged access to your Ubuntu System as root or via sudo command is required. Difficulty EASY Conventions - # - requires given linux commands...