精华内容
下载资源
问答
  • 收到了美团实习生的面试通知(后台开发),感觉真的是慌得不行。昨天视频一面之后今天打算把面试的主要内容做个总结回顾,方便和小伙伴们一起...那怎么判断对象是否死亡或者存活呢。接下来我们就介绍两种判断对
  • 在网上看到个技术牛人写的世界上判断是否IE浏览器之最短的js代码,如下: [code="java"] if(!+[1,])alert("这是ie浏览器");  else alert("这不是ie浏览器"); [/code]...
    前几天在网上看到一个技术牛人写的世界上判断是否IE浏览器之最短的js代码,如下:
    <script> 
    if(!+[1,])alert("这是ie浏览器");
       else alert("这不是ie浏览器");
    </script>

    怎么样,强悍吧。今天在博客园又看到一位朋友总结了其它一些判断方法(实例代码),于是烈火把这些教程转载给大家,期待对您有所帮助:
    其实有很多判断的方法,大都是根据浏览器的特性来的。
    比如库prototype的方法是:!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) 。就是根据ie支持window.attachEvent添加侦听事件,非ie用window.addEventListener添加侦听事件来判断的。navigator.userAgent.indexOf('Opera') === -1是因为opara浏览器能伪装成ie.如果!!(window.attachEvent )为真,就是ie;反之,如果!window.addEventListener为真,也可以判断为ie.
    Ext使用的是!"1"[0],他利用IE无法使用数组下标访问字符串的特性来判断。在ie8下好像有问题。
    在!+[1,]还未被发现前,判断ie最短的表达式是 !+"\v1".它利用的是ie不支持垂直制表符的特性。
    以前还有一个常用方法是document.all,由于opera浏览器能伪装成ie。可以这样写:!!(document.all && navigator.userAgent.indexOf('Opera') === -1).
    还有很多,先记这几条,便于工作时查阅。
    1.+[1,]
    2.!+"\v1"
    3.!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)
    4.!!(!window.addEventListener&& navigator.userAgent.indexOf('Opera') === -1)
    5.!!(document.all && navigator.userAgent.indexOf('Opera') === -1)

    [color=red]转载地址:[/color]
    [url]http://www.xker.com/page/e2010/0527/96514.html[/url]
    展开全文
  • 学习用Java写简单贪吃蛇第二准备开始贪吃蛇结点的构建页面的显示搭建大部分功能的实现贪吃蛇的开始初始化放置普通食物判断是否咬到了自己设置吃到食物后的发生设置方向键的限定时间时钟到了执行的方法绘图完善吃...

    准备开始

    贪吃蛇结点的构建

    结点是使用双向链表来搭建的,里面定义了x和y分别表示结点所处的位置,用next代表下一个结点,用prev代表前一个结点,而之前的方向,定义在主方法中。

    package exp2;
    
    public class SnakeNode {
        private int x;
        private int y;
        protected SnakeNode next;
        protected SnakeNode prev;
    
        public SnakeNode(int x, int y) {
            this.x = x;
            this.y = y;
        }
    
        public int getX() {
            return x;
        }
    
        public void setX(int x) {
            this.x = x;
        }
    
        public int getY() {
            return y;
        }
    
        public void setY(int y) {
            this.y = y;
        }
    
    }
    
    

    页面的显示搭建

    这里写的是关于设置页面标题,设置页面图标,设置页面大小,以及上一篇文章中说的将贪吃蛇画的JPanel进入加载。

    package exp2;
    
    import javax.swing.*;
    import java.awt.*;
    import java.net.URL;
    
    public class Snake {
        public static void main(String[] args) {
            JFrame frame = new JFrame();
            frame.setBounds(450,160,900,758);
            frame.setResizable(false);
            //点击关闭能真正关闭
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //添加画布
            frame.add(new exp2.MyPanel());
            //设置标题和icon
            frame.setTitle("贪吃蛇小游戏");
            URL url = frame.getClass().getResource(".\\..\\..\\images\\snakeIcon.png");
            //System.out.println(url);
            Image img = Toolkit.getDefaultToolkit().getImage(url);
            frame.setIconImage(img);
            frame.setVisible(true);
        }
    }
    

    大部分功能的实现

    贪吃蛇的开始初始化

    对于如何在程序运行时,我将贪吃蛇的初始化封装成了一个方法,只要在JPanel刚创建调用构造方法时进行调用。

    private void initSnake() {
    
            SnakeNode snake1 = new SnakeNode(125,135);
            initNode(snake1);
            SnakeNode snake2 = new SnakeNode(100,135);
            initNode(snake2);
            SnakeNode snake3 = new SnakeNode(75,135);
            initNode(snake3);
            setMinFood();
            bigFoodNum = 1;
            direction = "R";
            score = 0;
            setBigFoodXY();
            hasBigFood = false;
            time.start();
        }
    
    private void initNode(SnakeNode node) {
            if (first == null) {
                p = node;
                first = node;
                end = node;
                p.next = null;
                p.prev = null;
            } else {
                p.next = node;
                node.prev = p;
                p = p.next;
                end = p;
            }
            len ++;
        }
    

    里面设置了很多参数,比如初始方向为向右,设置初始食物位置,是否需要设置特殊食物,设置开始分数等等。(具体代码在文末)

    放置普通食物

    放置食物需要考虑到,食物的位置会不会超出frame框的位置大小,放置的位置会不会和蛇或者特殊食物重叠。

    private void setMinFood() {
            Boolean setFood;
            do {
                setFood = true;
                foodx = 25 + 25 * rand.nextInt(34);
                foody = 110 + 25 * rand.nextInt(24);
                p = first;
                // 防止生成的食物在蛇身上
                while (p != null) {
                    if (p.getX() == foodx && p.getY() == foody) {
                        setFood = false;
                        break;
                    }
                    p = p.next;
                }
                if ((foodx == bigFoodx && foody == bigFoody)
                        || (foodx == bigFoodx -25 && foody == bigFoody)
                        || (foodx == bigFoodx && foody == bigFoody - 25)
                        || (foodx == bigFoodx -25 && foody == bigFoody - 25)) {
                    setFood = false;
                }
            } while (!setFood);
    
        }
    

    当然,放置特殊食物也是这样。

    判断蛇是否咬到了自己

    从头结点以下开始遍历,如果遍历到了身子结点(暂且这么讲),处于的位置相同,说明咬到了自己,返回true代表游戏失败了。在其他方法调用此方法时,就可以判断游戏需要终止了。

    private boolean failedCheckOut() {
            p = first.next;
            while (p != null) {
                if (p.getX() == first.getX() && p.getY() == first.getY()) {
                    return true;
                }
                p = p.next;
            }
            return false;
        }
    

    在这里插入图片描述

    设置吃到食物后的发生

    这里就不详细解释了,具体解释请看第一天内容,谢谢大家!

    private void getMinFood() {
            toEnd.next = null;
            toEnd.prev = end;
            end.next = toEnd;
            end = toEnd;
            score += 10 * difficulty;
            bigFoodNum++;
            len ++;
        }
    

    设置分数的增加与难度成正比,这里的bigFoodNum是用来判断吃到多少普通食物就会生成一个特殊食物,以及蛇的长度增加。

    设置方向键的限定

    为什么要限定方向键?您想,如果蛇是往右走的,如果您的方向键按了一下左,下一秒可能直接就咬到自己了,像我这样手比较滑的人,轻轻按一下整个游戏就失败了,所以我设置了方向键的限定。当然,下面的内容也包含了如何设置空格键为游戏的开始与暂停,以及重新开始。

    @Override
        public void keyPressed(KeyEvent e) {
            int keyCode = e.getKeyCode();//获取键盘背后对应的数字
            if (keyCode == KeyEvent.VK_SPACE) {
                if (isFailed) {
                    isFailed = false;
                    toRestart();
                } else {
                    isStarted = !isStarted;
                }
                if (isStarted) {
                    playBGM();
                } else {
                    stopBGM();
                }
                repaint();
            } else if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) {
                tempDir = "L";
                direction = tempDir.equals(direction ) ? "L" : "R";
            } else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) {
                tempDir = "R";
                direction = tempDir.equals(direction) ? "R" : "L";
            } else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) {
                tempDir = "D";
                direction = tempDir.equals(direction) ? "D" : "U";
            } else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) {
                tempDir = "U";
                direction = tempDir.equals(direction) ? "U" : "D";
            }
        }
    

    时间时钟到了执行的方法

    Java中有一个Timer类,创建的对象可以每隔一段时间调用下面的方法。下面这个方法可以改变蛇的位置,判断是否吃到了食物。里面也有许多下面一部分要讲的完善内容,具体请看下面一部分。

    //时钟时间到了就会调用这个移动方法
        @Override
        public void actionPerformed(ActionEvent e) {
            if (isStarted && !isFailed) {
                //蛇进行移动
                //防止end结点改变,新建时比较简单
                toEnd = new SnakeNode(end.getX(),end.getY());
                p = end.prev;
                if (direction == "R") {
                    end.setX(first.getX() + speed);
                    end.setY(first.getY());
                    if (end.getX() >= 875 && model == 1) {
                        end.setX(25);
                    } else if (end.getX() >= 875 && model == 2) {
                        isFailed = true;
                    }
                } else if (direction == "L") {
                    end.setX(first.getX() - speed);
                    end.setY(first.getY());
                    if (end.getX() <= 0 && model == 1) {
                        end.setX(850);
                    } else if (end.getX() <= 0 && model == 2) {
                        isFailed = true;
                    }
                } else if (direction == "U") {
                    end.setX(first.getX());
                    end.setY(first.getY() - speed);
                    if (end.getY() <= 85 && model == 1) {
                        end.setY(685);
                    } else if (end.getY() <= 85 && model == 2) {
                        isFailed = true;
                    }
                } else if (direction == "D") {
                    end.setX(first.getX());
                    end.setY(first.getY() + speed);
                    if (end.getY() >= 710 && model == 1) {
                        end.setY(110);
                    } else if (end.getY() >= 710 && model == 2) {
                        isFailed = true;
                    }
                }
                p.next = null;
                end.next = first;
                first.prev = end;
                first = end;
                end = p;
    
                //蛇头与食物是否重合
                if (first.getX() == foodx && first.getY() == foody) {
                    getMinFood();
                    setMinFood();
                }
                if ((first.getX() >= bigFoodx)
                        && (first.getX() <= bigFoodx + 25)
                        && (first.getY() >= bigFoody)
                        && (first.getY() <= bigFoody + 25)) {
                    getBigFood();
                    slowTimes += 20;
                }
                if (failedCheckOut()) {
                    isFailed = true;
                    stopBGM();
                }
                repaint();
            }
            //time.setDelay(timeDely);
            if (slowTimes != 0) {
                time.setDelay(200);
                setBackground(Color.BLUE);
                slowTimes --;
            } else if (difficulty == easy) {
                time.setDelay(150);
            } else if (difficulty == medium) {
                time.setDelay(100);
            } else if (difficulty == hard) {
                time.setDelay(60);
            }
            time.start();
        }
    

    绘图

    将上面讲的总结起来,在绘图功能中实现,每隔很短的时间执行绘图操作,对于我们就感觉在动一样啦。

    public void paintComponent(Graphics g) {
            super.paintComponent(g);
            //添加标题
            title.paintIcon(this,g,25,11);
            //绘制游戏区
            g.fillRect(25,110,850,600);
            //打印分数和长度
            g.setColor(Color.WHITE);
            g.setFont(new Font("arial", Font.PLAIN, 30));
            g.drawString("Length:" + len,730,50);
            g.drawString("Score:" + score,730,80);
    
            //打印蛇
            if (direction.equals("R")) {
                right.paintIcon(this, g, first.getX(), first.getY());
            } else if (direction.equals("L")) {
                left.paintIcon(this, g, first.getX(), first.getY());
            } else if (direction.equals("U")) {
                up.paintIcon(this, g, first.getX(), first.getY());
            } else if (direction.equals("D")) {
                down.paintIcon(this, g, first.getX(), first.getY());
            }
            p = first.next;
            while (p != null) {
                body.paintIcon(this, g, p.getX(), p.getY());
                p = p.next;
            }
            //打印食物
            food.paintIcon(this,g,foodx,foody);
            if (len < 150) {
                if (bigFoodNum % 6 == 0) {
                    hasBigFood = true;
                }
                if (hasBigFood) {
                    bigFood.paintIcon(this,g,bigFoodx,bigFoody);
                }
            }
            if (len == 10) {
                g.setColor(Color.YELLOW);
                g.setFont(new Font("arial", Font.BOLD, 40));
                g.drawString("So nice!!!",100,200);
            }
            //显示背景
            if (slowTimes != 0) {
                setBackground(Color.GREEN);
                g.setColor(Color.WHITE);
                g.setFont(new Font("arial", Font.BOLD, 40));
                g.drawString("Slow down!",600,600);
            } else {
                setBackground(Color.WHITE);
            }
            //打印开始
            if (!isStarted && !isFailed) {
                g.setColor(Color.YELLOW);
                g.setFont(new Font("arial", Font.BOLD, 40));
                g.drawString("Press Space to Start",300,300);
            }
            //重新开始
            if (isFailed) {
                g.setColor(Color.RED);
                g.setFont(new Font("arial", Font.BOLD, 40));
                g.drawString("Failed! Press Space to Restart",200,300);
            }
    
        }
    

    完善

    非常感谢您能读到这里,谢谢您!相信如果您仔细看的话,上面的内容里有许多我已经完善好的东西。就比如说:

    吃完特殊食物会怎么样

    (很抱歉不能再复制一次上面的代码,影响您的阅读,因为会比较长,您可以直接在文末下载代码来阅读,谢谢)在paintComponent方法中,如果吃下特殊食物,slowTimes会增加一定的数,当它不为0时,我设置了背景颜色变为绿色,以及显示Slow down和速度变为200的时间内刷新,为0背景是白色的。

    此处在paintComponent方法中

    //显示背景
            if (slowTimes != 0) {
                setBackground(Color.GREEN);
                g.setColor(Color.WHITE);
                g.setFont(new Font("arial", Font.BOLD, 40));
                g.drawString("Slow down!",600,600);
            } else {
                setBackground(Color.WHITE);
            }
    
    private void getBigFood() {
            toEnd.next = null;
            toEnd.prev = end;
            end.next = toEnd;
            end = toEnd;
            score += 20 * difficulty;
            len ++;
            bigFoodNum ++;
            hasBigFood = false;
            slowTimes += 20;
            setBigFoodXY();
        }
    

    此处在actionPerformed方法中

    //time.setDelay(timeDely);
            if (slowTimes != 0 && isStarted) {
                time.setDelay(200);
                setBackground(Color.BLUE);
                slowTimes --;
            } else if (difficulty == easy) {
                time.setDelay(150);
            } else if (difficulty == medium) {
                time.setDelay(100);
            } else if (difficulty == hard) {
                time.setDelay(60);
            }
            time.start();
    

    当蛇的长度到达一定长度会怎么样

    我这里只写了会在界面打印“So nice”,比较菜,见谅。(比如可以速度加快什么的)

    if (len == 10) {
                g.setColor(Color.YELLOW);
                g.setFont(new Font("arial", Font.BOLD, 40));
                g.drawString("So nice!!!",100,200);
            }
    

    游戏音乐的开启

    private void LoadBGM() {
            try {
                //如果bgm文件比较大,使用SourseDataLine
                bgm = AudioSystem.getClip();
                InputStream is = this.getClass().getResourceAsStream("..\\music\\bgm.wav");
                AudioInputStream ais = AudioSystem.getAudioInputStream(new BufferedInputStream(is));
                bgm.open(ais);
            } catch (LineUnavailableException e) {
                e.printStackTrace();
            } catch (UnsupportedAudioFileException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    

    音乐的循环播放以及按下space键的停止播放

    private void playBGM() {
            bgm.loop(Clip.LOOP_CONTINUOUSLY);
        }
    
        private void stopBGM() {
            bgm.stop();
        }
    

    游戏上方按钮的绘制

    按钮的创建

    private final JMenuBar jMenuBar = new JMenuBar();
        private final JMenu choose = new JMenu("选项");
        private final JMenuItem stop = new JMenuItem("暂停");
        private final JMenuItem start = new JMenuItem("开始");
        private final JMenu difChoose = new JMenu("难度选择");
        private final JMenuItem dif1 = new JMenuItem("难度1");
        private final JMenuItem dif2 = new JMenuItem("难度2");
        private final JMenuItem dif3 = new JMenuItem("难度3");
        private final JMenu modelChoose = new JMenu("模式选择");
        private final JMenuItem model1 = new JMenuItem("不碰壁模式");
        private final JMenuItem model2 = new JMenuItem("碰壁模式");
        private final JMenuItem exit = new JMenuItem("退出");
    

    按钮的初始化

    private void initItem() {
    
            difChoose.add(dif1);
            difChoose.add(dif2);
            difChoose.add(dif3);
            modelChoose.add(model1);
            modelChoose.add(model2);
            jMenuBar.add(start);
            jMenuBar.add(stop);
            jMenuBar.add(difChoose);
            jMenuBar.add(modelChoose);
            jMenuBar.add(exit);
            //panel.add(popMenu);
            //设置字体
            choose.setFont(new Font("宋体",Font.BOLD,20));
            difChoose.setFont(new Font("宋体",Font.BOLD,20));
            modelChoose.setFont(new Font("宋体",Font.BOLD,20));
            setJMenuItemFont(dif1);
            setJMenuItemFont(dif2);
            setJMenuItemFont(dif3);
            setJMenuItemFont(model1);
            setJMenuItemFont(model2);
            setJMenuItemFont(start);
            setJMenuItemFont(stop);
            setJMenuItemFont(exit);
            this.add(jMenuBar);
            start.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    if (isFailed) {
                        isFailed = false;
                        toRestart();
                    } else {
                        isStarted = true;
                    }
                    playBGM();
                    repaint();
                }
            });
            stop.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    isStarted = false;
                    stopBGM();
                    repaint();
                }
            });
            dif1.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    difficulty = easy;
                }
            });
            dif2.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    difficulty = medium;
                }
            });
            dif3.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    difficulty = hard;
                }
            });
            model1.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    model = 1;
                }
            });
            model2.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    model = 2;
                }
            });
            exit.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    System.exit(0);
                }
            });
        }
    

    根据难度以及模式判断

    模式为1表明为穿墙模式,模式为2表明为不可穿墙模式
    此处的1和2没有见名知意,不好意思。

    if (direction == "R") {
                    end.setX(first.getX() + speed);
                    end.setY(first.getY());
                    if (end.getX() >= 875 && model == 1) {
                        end.setX(25);
                    } else if (end.getX() >= 875 && model == 2) {
                        isFailed = true;
                    }
    

    难度的设定:简单时间延迟设定为150,中等难度设定为100,困难为60(如果迟到特殊食物设定为200)

    //time.setDelay(timeDely);
            if (slowTimes != 0 && isStarted) {
                time.setDelay(200);
                setBackground(Color.BLUE);
                slowTimes --;
            } else if (difficulty == easy) {
                time.setDelay(150);
            } else if (difficulty == medium) {
                time.setDelay(100);
            } else if (difficulty == hard) {
                time.setDelay(60);
            }
            time.start();
    

    具体展示

    在这里插入图片描述在这里插入图片描述

    总结

    从贪吃蛇的制作学习到了很多数据结构以及算法上的内容,相关的资源请看链接链接:https://pan.baidu.com/s/1UKitV8ccNaEi1ccNm9TKbg
    提取码:oefj
    GitHub链接:https://github.com/Braden-hey/Snake

    展开全文
  • 如何找出某一天访问百度网站最多的 IP? 如何在大量的数据中找出不重复的整数? 如何在大量的数据中判断一个数是否存在? 如何查询最热门的查询串? 如何统计不同电话号码的个数? 如何从 5 亿个数中找出中位数? ...
  • //如果三条数据一样的话 说明是同一天 if(sheet.getCell(0,n).getContents().equals(firm) && sheet.getCell(1,n).getContents().equals(name) && sheet.getCell(2,n).getContents().equals(day) ){ shuju....
  • java面试宝典2012

    2012-12-16 20:43:41
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 117 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java程序员面试宝典pdf

    热门讨论 2013-02-21 13:06:13
    面试题163 获得任意一个时间的下一天的时间 302 面试题164 50个人围成一圈数到3和3的倍数时出圈, 问剩下的人是谁?在原来的位置是多少 304 面试题165 将某个时间以固定格式转化成字符串 305 面试题166 用Java实现一...
  • JAVA面试宝典2010

    2011-12-20 16:13:24
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试宝典-经典

    2015-03-28 21:44:36
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试宝典2012版

    2012-12-03 21:57:42
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试宝典2012新版

    2012-06-26 19:20:00
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试笔试资料大全

    热门讨论 2011-07-22 14:33:56
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户。...
  • 面试题163 获得任意一个时间的下一天的时间 302 面试题164 50个人围成一圈数到3和3的倍数时出圈, 问剩下的人是谁?在原来的位置是多少 304 面试题165 将某个时间以固定格式转化成字符串 305 面试题166 用Java...
  • Java 面试宝典

    2013-02-01 10:02:08
    1、个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ...... 7 2、Java 有没有 goto? .......................................................................................................
  • 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • java常用工具类的使用

    热门讨论 2012-03-19 20:11:37
    k 一天中的小时数(1-24) K am/pm 中的小时数(0-11) h am/pm 中的小时数(1-12) m 小时中的分钟数 s 分钟中的秒数 S 毫秒数 表6 模式字符串 例如: 日期和时间模式 结果 "EEE, MMM d, ''yy" Wed, Jul 4, '01 ...
  • 18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...
  • 被网易有道二面,现在才有时间写博客哈哈哈哈哈,废话不多说,直接上问题。...10、如何判断一个对象是否是垃圾。 11、知道什么垃圾收集器。 12、MySQL底层使用的什么结构,为什么。 13、为什么添加索引能加快查

    前几天被网易有道二面,现在才有时间写博客哈哈哈哈哈,废话不多说,直接上问题。(对一面也有兴趣的可以浏览:网易有道一面小结)

    1、讲讲你这个项目都有什么模块。
    2、说一下进程和线程。
    3、说一下进程间的通信。
    4、进程和线程的关系。
    5、线程之间的通信。
    6、线程都有哪几种状态。
    7、线程怎么样会进入阻塞状态。
    8、阻塞结束后会进入什么状态。
    9、说一下JVM内存模型。
    10、如何判断一个对象是否是垃圾。
    11、知道什么垃圾收集器。
    12、==和eauqls有什么区别。
    13、什么时候要用到equals,并且有什么注意事项。
    14、hashmap在put的时候可能会遇到什么问题。(死锁)
    15、你刚刚说intern()可以让他们= =相等,为什么。(都是常量池)
    16、form的enctype设置过什么类型。
    17、post和get的区别是什么。
    18、302状态码什么意思。
    19、MySQL底层使用的什么结构,为什么。
    20、为什么添加索引能加快查询效率。(我从b+树结构来考虑的)
    21、两道SQL手写题。

    以上就是大概的问题,可能还有一些题目忘记了,全程对线了1小时左右,现在还没消息通知我,也不知道什么情况,不管怎么样,多多加油就行了,每一次都是一个积累,冲呀!

    展开全文
  • 1、个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....2 2、Java有没有goto?..........................................................................................2 3、说说&和&&...
  • 3.5.5 时分秒针在一天之类重合多少次?(24小时) 3.5.6 将多个集合合并成没有交集的集合。 3.5.7 平面内有11个点,由它们连成48条不同的直线,由这些点可连成多少个三角形? 腾讯篇 Java基础 4.1.0 JAVA中的...
  • 其实,不管是大数据还是其他知识的学习,我认为最好的方法无非是先找个视频快速过遍,总体上了解这门技术干嘛的,是否适合自己。然后结合官网文档细致地过遍,学习过程中最好结合前人大牛的博客,都是经验之得你...
  • 我本想根据AndroidStudio自带的LoginActivity写写呢MVVM模式的,但是研究了一天没搞懂。 所以下面按我实现的写了。 在登录界面,我们需要输入账号和密码 本来我想实现账号既可以是用户名也可以是手机号还可以是邮箱...
  • 上面的问题解决起来很容易,只需在第行代码中增加判断条件即可,如下:  for(i=0; i<pSysHead->dbf_coun && i ; i++) // MAX_DB_NUM=127 这样就保证了循环变量i的值在正常范围内,从而避免了对指针pDBFat...
  • 软件工程教程

    2012-07-06 23:10:29
    删除操作一旦执行,立即被监听器捕获到,进而在执行 删除操作执行自定义的函数体,即判断实体有无undeletable标签,有则中断删除操作,无则正常删除。 用例图 关系 关联关系 ;依赖关系 ;泛化关系;关系的...
  • 有个朋友问我,要实现个树状的列表要怎么做,根据个完全符合规则但是却很头疼的个Json解析来实现,见下格式,对于有些Android开发者来说,这个Json或许并不友好,没有办法直接转成实体类,其实这串...
  • 1.3.5 怎么能让应用运行得更快 42 1.3.6 DBA与开发人员的关系 44 1.4 小结 45 第2章 体系结构概述 46 2.1 定义数据库和实例 47 2.2 SGA和后台进程 52 2.3 连接Oracle 54 2.3.1 专用服务器 54 2.3.2 共享...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

java怎么判断是否是前一天

java 订阅