`
文章列表
    0 现象: 仓库中一个业务表的一个指标是计算平均值,结果历史问题定义成int类型来存储(建表语句对应此字段为int),而且这个表是PARQUET类型的分区表。     实验方式1: 先建立原始表a的备份表b,使用前面文字中快速 ...
    在hive仓库修改以前逻辑中,如果因为 一时的需要 增加了hive表的字段,后来在过些日子思考后感觉 这个业务不需要在增加这个字段, 在hive分区表中,   增加列语句, 需要增加 cascade,否则分区表在查询某天分区数据时会查不到     alter table ods_teach_online_coursewares ADD COLUMNS (ccdl_begtime string COMMENT '打点开始时间') CASCADE;       这里主要讨论的是,在分区表增加了列,后来又不需要这些列的处理方式:   1 这是我常用的方式,通过s ...
    目前仓库中有这么个需求,根据书本,科目,知识点分组,分组时按照知识点对应的章节排序,排序后只获取排名第一条的数据,因为只需要第一条,为了防止出现并列第一,这里使用hive支持的开窗函数: row_number() over p ...

网络编程 聊天室

    1 先写一个简单版的,只有一个客户端,一个服务端,两者交互一次后自动结束,分析代码存在的问题在代码注释中:     客户端代码: import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import j ...
    1 server方法内分为三步骤, start()   receive()  stop()   2 客户端就是浏览器,建立好服务端后在客户端中输入 ip:端口即可访问到   3 代码如下:   import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * 创建服务器,并启动 * @author Admini ...
    1 看下一个简单的 tcp通讯下的 客户端 服务端代码:   /** 1、创建客户端 必须指定服务器+端口 此时就在连接 Socket(String host, int port) 2、接收数据 +发送数据 * @author Administrator * */ public class Client { /** * ...
      1 几个常用类的使用:   public static void main(String[] args) { try { // InetAddress 类 代表网上 ip地址或者域名 InetAddress address = InetAddress.getLocalHost(); System.out.println("hostAddress: " + address.getHostAddress()); // hostAddress: 192.168.11.23 System.out.println ...
        分为三种方式实现,具体见代码注释:   package beijing.lele; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.loc ...

线程 Timer

  1 类含义介绍: 一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行     2 简单代码:   /** 了解 Timer() schedule(TimerTask task, Date time) schedule(TimerTask task, Date firstTime, long period) quartz 类能够实现更复杂的线程调度 * @author Administrator * */ public class TimeDemo01 { /** * @ ...
      直接看代码:   package beijing.lele; public class ProduceConsumeThread { /** * 对于线程死锁,用生产消费者模式|方案来解决, 生活中,人车 共用车道资源也是生产者消费者现象 * 生产者消费者模式有两种解决方式: * 1 用容器,容器满了 就停止 2 信号灯法,标识位 (这种方式下,必须要 this.wait() + this.notify() + synchronized 才生效) */ /** 这是没修改前跑出来的结果: 电影院1 生产了 ...
      1 总结:     * 对于线程死锁,用生产消费者模式|方案来解决, 生活中,人车 共用车道资源也是生产者消费者现象 * 生产者消费者模式有两种解决方式: * 1 用容器,容器满了 就停止 2 信号灯法,标识 ...

线程 死锁

 
      /** * 过多的同步方法可能造成死锁 * @author Administrator * */ public class SynDemo03 { /** * @param args */ public static void main(String[] args) { Object g =new Object(); Object m = new Object(); Test t1 =new Test(g,m); Test2 t2 = new Test2(g,m); Thread proxy = new ...
      1 理解下单例模式中 两个 if(null == instance)的判断存在的原因 2 理解下载 .class上加锁的写法(对于没法使用实例对象加锁的,比如下面类是单例类,只能在 .class中加锁)   /** * 单例设计模式:确保一个类只有一个对象 * @author Administrator * */ public class SynDemo02 { /** * @param args */ public static void main(String[] args) { JvmThread thread1 = ...
    看代码,看注释, 一般都是用 synchronized(this){  代码块 }, 其中注意体会this到底代表的是谁, 并注意 加锁的代码块的范围别太小造成跑出的数据异常。          public class SynDemo01 { /** * @param args */ public sta ...
    1 静态代理模式概念和代码:   /** * 静态代理 设计模式 * 1、真实角色 * 2、代理角色: 持有真实角色的引用 * 3、二者 实现相同的接口 * * @author Administrator * */ //接口 interface Marry{ public abstract void marry(); } public class StaticProxy { /** * @param args */ public static void main(String[] args) { ...
Global site tag (gtag.js) - Google Analytics