前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单笔记

简单笔记

作者头像
陈树义
发布2018-04-13 16:05:02
6470
发布2018-04-13 16:05:02
举报
文章被收录于专栏:陈树义陈树义

1、类的表面类型和实际类型

实例对象有两个类型:表面类型(Apparent Type)和实际类型(ActualType),表面类型是声明时的类型,实际类型是对象产生时的类型。

静态方法不依赖实例对象,它是通过类名访问的;其次,可以通过对象访问静态方法,如果是通过对象调用静态方法,JVM 则会通过对象的表面类型查找到静态方法的入口,继而执行之。

public class StaticMethod {
public static void main(String[] args) {
Base base = new Sub();
// 调用非静态方法(如果子类覆盖了父类的方法,那么将调用实际类型,即子类的方法)
base.doAnything(); //结果,我是子类非静态方法
// 调用静态方法
base.doSomething(); //结果, 我是父类静态方法 
}
}
class Base{
// 父类静态方法
public static void doSomething(){
System.out.println(" 我是父类静态方法");
}
// 父类非静态方法
public void doAnything(){
System.out.println(" 我是父类非静态方法");
}
}
class Sub extends Base{
// 子类同名、同参数的静态方法
public static void doSomething(){
System.out.println(" 我是子类静态方法");
}
// 覆写父类的非静态方法
@Override
public void doAnything(){
System.out.println(" 我是子类非静态方法");
}
}

参考自:http://m.oschina.net/blog/187548

2、关于向上转型

在Java中,一个很重要的概念就是多态。多态在类的级别上,有两种表现方式,分别是:接口和继承。而在方法的级别上,可以有覆写、重载。

我们这里主要说的是类级别上的多态,即接口和继承。我们知道我们可以用父类的一个变量指向一个子类的对象,这样表示完全没问题。如下:

public class Parent
{
    public Parent()
    {
       System.out.println("I'm Parent!");
    }
}
public class Child extends Parent
{
   public Child()
   {
     System.out.println("I'm Child.");
   }
   public void hello()
   {
     System.out.println("Child's Hello Method");
   }
}

public class Test
{
   public static void main(String args[])
   {
       Parent obj = new Child();   //向上转型
       obj.hello();   //此句报错。编译器提示:没有为类型 Parent 定义方法 hello()
   }
}

这里将本应该由Child类型变量指向Child对象的情况改成了用父类Parent类型变量指向,这就是Java中的向上转型。

在向上转型中它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,尽管是重载该方法。

3、虚拟一个磁盘分区

在安装一些软件的时候,如果你的电脑里没有某一个盘可能会导致不能安装。这时你可以虚拟一个对应的磁盘分区。

在DOS下运行:

subst H: %TEMP% (这个是虚拟一个H盘)。

4、解决Oracle数据库临时表空间不足的问题

系统报错:ORA-01652: unable to extend temp segment by 128 in tablespace TEMP ORA-06512: at "BEMS.PKG_RPT_180101", line 12 ORA-06512: at line 1。

分析:从网上百度一下,或者查看一下ORACLE的联机帮助文档,很容易知道这是临时表空间不足了。

解决方案:

① 查看临时表空间使用情况

SQL> select file_name,bytes/1024/1024 "MB",autoextensible,tablespace_name from dba_temp_files;

从查询结果知道当前只有一个临时表空间,虽能是自增长的,但是已经32G了,已经达到了max size。问题已经很清楚了,考虑到正在给客户演示,要赶紧让系统恢复正常。

② 把当前的默认表空间切换到新建的表空间上

SQL> alter database default temporary tablespace temp02;

3.删除原来的临时表空间

SQL> drop tablespace temp including contents and datafiles;

4.重新创建原来的临时表空间

SQL> create temporary tablespace temp tempfile '/home/oracle/oradata/bemsdemo/temp01.dbf' size 512M autoextend on maxsize 32G;

5.把默认临时表空间切换回来

SQL> alter database default temporary tablespace temp;

5、oracle 导入dmp 报 IMP-00010:不是有效的导出文件,头部验证失败

这是由于导出的dmp文件与导入的数据库的版本不同造成的。用Notepad++查看了dmp文件,在头部具修改成你将导入目标数据库的版本号

以下对应的版本号:

  11g R2:V11.02.00

  11g R1:V11.01.00

  10g:V10.02.01

6、在Hibernate配置文件中注释打字段

第一种,在hbm配置文件中配置:

<property name="answercontent" type="org.springframework.orm.hibernate3.support.ClobStringType">  <!-- MARK -->
            <column name="ANSWERCONTENT" length="4000">
                <comment>答复内容</comment>
            </column>
</property>

第二种,使用注解方式:

@Lob
@Type(type = "org.springframework.orm.hibernate3.support.ClobStringType")
@Column(name = "DISCUSSCONTENT", columnDefinition="CLOB")

7、个人电脑存储系统设计

64G的SSD硬盘 + 500G的HDD

64G-SSD的系统盘:存放系统、各种软件的安装

50G-HDD的数据缓存盘:各种软件的缓存数据、下载数据

100G-HDD的数据存储区:存储各种个人数据。

250G-HDD的数据归档区:用于存放归档的个人数据

100G-HDD的备用数据区:用于扩展备用。

预算:64G的SSD 300 + 500GHDD 300 = 600元

8、ORACLE数据库导入的时候遇到了1658错误

用pslq导数据库,dos命令窗口,老是一闪而过,隐约看到了有错误的提示,但是dos命令窗口已经关闭了,算了,直接dos命令到数据库吧。看到了错误,“1658”。。好吧,来百度下,出来了。。说明是表空间大小不足引起,赶紧看了下相应的表空间,该死的,居然忘记设置表空间自动增长了,悲剧啊。。好吧,把需要用到的两个表空间都设置为自动增长,再来导下数据,.....OK。。。Success!搞定,下班。。走人。。

9、在JSP前台格式化日期

方式一,使用JSP标签<fmt>格式化:

<fmt:formatDate value="${tbProposal.predictStartWorkDate }" pattern="yyyy-MM-dd HH:mm:00"/>

方式二,使用Struts标签<s:date>格式化:

<s:date format="yyyy-MM-dd hh:mm:ss" name="tbPlanpermitoflanduse.permitSubmitDate"/>

tbPlanpermitoflanduse是在action有的一个对象。

 10、Oracle自定义异常

--exception一定要配合begin/end执行
begin
  name varchar(10);
  ex exception; --1.定义异常ex
  begin
     if name <> 'hr' then
        raise ex; --2.触发异常
       end if;
    exception
      when ex then  --3.处理异常
        dbms_output.put_line('发生自定义异常'); 
      when others then
        dbms_output.put_line('发生未知异常'); --处理异常
end;

就是这么简单~!

11、解决Mac上启动Tomcat一闪而过的问题

原因:可能是因为占用端口造成的。

解决办法:

1、在终端中输入:

ps -e | grep java

查找出tomcat线成的id

2726 1:48.28……(省略一长串字符)

2、使用kill命令结束此线成

kill -9 2726

3、重新启动tomcat

12、[AMAZON EC2 AWS 连接实例笔记]

飞龙 AMAZON的 PUBLIC DNS 是不是 被墙了? 刚注册了一个。 ec2-50-18-*-*.us-west-1.compute. amazonaws.com 老是ping 不通 ssh 不上去阿 帮帮忙 正在焦急等待中。

这个我不知道,你弄一个elastic ip,就是一个固定的公网ip,然后attach到你的ec2上,就可以用这个公网ip访问了。另外要注意一下你的security group要访问的端口是否打开。ec2默认是ping不通的。[自己测试后成功连上!]

13、JSP Servlet 中常用的两个 jar 包

<!-- Servlet API -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<!-- JSP API -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
</dependency>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-10-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档