精华内容
下载资源
问答
  • Login_Regist

    2018-06-16 14:32:37
    package Login_Regist; /** * 这是针对用户进行操作的接口 * * @author 风清扬 * @version V1.0 * */ public interface Demo01 { /** * 这是用户登录功能 * * @param username * 用户名 * @...
    package Login_Regist;
    
    
    /**
     * 这是针对用户进行操作的接口
     * 
     * @author 风清扬
     * @version V1.0
     * 
     */
    public interface Demo01 {
    	/**
    	 * 这是用户登录功能
    	 * 
    	 * @param username
    	 *            用户名
    	 * @param password
    	 *            密码
    	 * @return 返回登录是否成功
    	 */
    	public abstract boolean isLogin(String username, String password);
    
    	/**
    	 * 这是用户注册功能
    	 * 
    	 * @param user
    	 *            要注册的用户信息
    	 */
    	public abstract void regist(Demo04 user);
    }
    
    package Login_Regist;
    import java.util.ArrayList;
    
    
    /**
     * 这是用户操作的具体实现类(集合版)
     * 
     * @author 风清扬
     * @version V1.0
     * 
     */
    public class Demo02 implements Demo01{
    	// 为了让多个方法能够使用同一个集合,就把集合定义为成员变量
    		// 为了不让外人看到,用private
    		// 为了让多个对象共享同一个成员变量,用static
    		private static ArrayList<Demo04> array = new ArrayList<Demo04>();
    
    		@Override
    		public boolean isLogin(String username, String password) {
    			// 遍历集合,获取每一个用户,并判断该用户的用户名和密码是否和传递过来的匹配
    			boolean flag = false;
    
    			for (Demo04 u : array) {
    				if (u.getUsername().equals(username)
    						&& u.getPassword().equals(password)) {
    					flag = true;
    					break;
    				}
    			}
    
    			return flag;
    		}
    
    		@Override
    		public void regist(Demo04 user) {
    			// 把用户信息存储集合
    			// ArrayList<User> array = new ArrayList<User>();
    			array.add(user);
    		}
    }
    
    package Login_Regist;
    import java.util.Scanner;
    
    /**
     * 这是猜数字小游戏
     * 
     * @author 风清扬
     * @version V1.0
     * 
     */
    public class Demo03 {
    	private Demo03() {
    	}
    
    	public static void start() {
    		// 产生一个随机数
    		int number = (int) (Math.random() * 100) + 1;
    
    		// 定义一个统计变量
    		int count = 0;
    
    		while (true) {
    			// 键盘录入一个数据
    			Scanner sc = new Scanner(System.in);
    			System.out.println("请输入数据(1-100):");
    			int guessNumber = sc.nextInt();
    
    			count++;
    
    			// 判断
    			if (guessNumber > number) {
    				System.out.println("你猜的数据" + guessNumber + "大了");
    			} else if (guessNumber < number) {
    				System.out.println("你猜的数据" + guessNumber + "小了");
    			} else {
    				System.out.println("恭喜你," + count + "次就猜中了");
    				break;
    			}
    		}
    	}
    }
    
    package Login_Regist;
    /**
     * 这是用户基本描述类
     * 
     * @author 风清扬
     * @version V1.0
     * 
     */
    public class Demo04 {
    	// 用户名
    		private String username;
    		// 密码
    		private String password;
    
    		public Demo04() {
    		}
    
    		public String getUsername() {
    			return username;
    		}
    
    		public void setUsername(String username) {
    			this.username = username;
    		}
    
    		public String getPassword() {
    			return password;
    		}
    
    		public void setPassword(String password) {
    			this.password = password;
    		}
    }
    
    package Login_Regist;
    import java.util.Scanner;
    
    
    /**
     * 用户测试类
     * 
     * @author 风清扬
     * @version V1.0
     * 
     *          新增加了两个小问题 A:多个对象共享同一个成员变量,用静态
     *          B:循环里面如果有switch,并且在switch里面有break,那么结束的不是循环,而是switch语句
     * 
     */
    public class Demo05 {
    	public static void main(String[] args) {
    		// 为了能够回来
    		while (true) {
    			// 欢迎界面,给出选择项
    			System.out.println("--------------欢迎光临--------------");
    			System.out.println("1 登录");
    			System.out.println("2 注册");
    			System.out.println("3 退出");
    			System.out.println("请输入你的选择:");
    			// 键盘录入选择,根据选择做不同的操作
    			Scanner sc = new Scanner(System.in);
    			// 为了后面的录入信息的方便,我所有的数据录入全部用字符接收
    			String choiceString = sc.nextLine();
    
    			// switch语句的多个地方要使用,我就定义到外面
    			Demo01 ud = new Demo02();
    
    			// 经过简单的思考,我选择了switch
    			switch (choiceString) {
    			case "1":
    				// 登录界面,请输入用户名和密码
    				System.out.println("--------------登录界面--------------");
    				System.out.println("请输入用户名:");
    				String username = sc.nextLine();
    				System.out.println("请输入密码:");
    				String password = sc.nextLine();
    
    				// 调用登录功能
    				// UserDao ud = new UserDaomImpl();
    
    				boolean flag = ud.isLogin(username, password);
    				if (flag) {
    					System.out.println("登录成功,可以开始玩游戏了");
    
    					System.out.println("你玩吗?y/n");
    					while (true) {
    						String resultString = sc.nextLine();
    						if (resultString.equalsIgnoreCase("y")) {
    							// 玩游戏
    							Demo03.start();
    							System.out.println("你还玩吗?y/n");
    						} else {
    							break;
    						}
    					}
    					System.out.println("谢谢使用,欢迎下次再来");
    					System.exit(0);
    					// break; //这里写break,结束的是switch
    				} else {
    					System.out.println("用户名或者密码有误,登录失败");
    				}
    				break;
    			case "2":
    				// 欢迎界面,请输入用户名和密码
    				System.out.println("--------------注册界面--------------");
    				System.out.println("请输入用户名:");
    				String newUsername = sc.nextLine();
    				System.out.println("请输入密码:");
    				String newPassword = sc.nextLine();
    
    				// 把用户名和密码封装到一个对象中
    				Demo04 user = new Demo04();
    				user.setUsername(newUsername);
    				user.setPassword(newPassword);
    
    				// 调用注册功能
    				// 多态
    				// UserDao ud = new UserDaoImpl();
    				// 具体类使用
    				// UserDaoImpl udi = new UserDaoImpl();
    
    				ud.regist(user);
    				System.out.println("注册成功");
    				break;
    			case "3":
    			default:
    				System.out.println("谢谢使用,欢迎下次再来");
    				System.exit(0);
    				break;
    			}
    		}
    	}
    }
    





    展开全文
  • DB-Regist-XML.zip

    2017-04-14 07:14:51
    DB-Regist-XML.zip
  • react-redux-login-regist-jwt-api
  • Regist'Appel允许每个班级管理托儿所或小学的数字电话簿。 对于管理者来说,它便于数据的级联,并自动执行每月和每年的统计。 此外,它还可以管理延误,报告不活跃性以及学生在上学期间的出境许可。 每个月的老师都...
  • regist-源码

    2021-03-10 11:33:43
    登记员
  • regist.scss

    2020-09-10 21:32:42
    猫眼pc端各个界面静态的布局,很基础,本人也是在入门阶段,贴出源码希望能给同我一样在入门的朋友一些想法,有问题希望大家指出,谢谢
  • regist.html

    2020-09-10 21:27:06
    猫眼pc端各个界面静态的布局,很基础,本人也是在入门阶段,贴出源码希望能给同我一样在入门的朋友一些想法,有问题希望大家指出,谢谢
  • <div><p>After further examination, the command <code>script/test_regist.py</code> was last updated 2 years ago. Function signatures has changed. <p>Is this command still used?</p><p>该提问来源于开源...
  • regist too many Broadcast问题研究

    千次阅读 2016-09-09 14:04:02
    发现问题华为5.1和5.1.1手机出现java.lang.IllegalArgumentException: regist too many Broadcast Receivers研究问题表面上看是注册太多广播导致出现异常,通过崩溃日志观察发现,崩溃量不少,而且全部都是华为5.1和...

    转载请注明出处:http://blog.csdn.net/kester_/article/details/52486503

    发现问题

    华为5.1和5.1.1手机出现java.lang.IllegalArgumentException: regist too many Broadcast Receivers


    研究问题

    表面上看是注册太多广播导致出现异常,通过崩溃日志观察发现,崩溃量不少,而且全部都是华为5.1和5.1.1上出现的,可知是机型特定问题。

    于是使用华为5.1.1测试,动态注册广播并计数,发现每次刚好到注册第501个广播时出现IllegalArgumentException,在其他手机上测试注册到4w+个广播也没出现问题,验证是机型特定问题,并且该机型上最多只能注册500个广播导致。

    同时也怀疑是不是rom内部计数有问题只增不减导致超过500,于是加入反注册进行验证,结果是注册减去反注册广播数达到500就达到了上限,可知计数没有问题。

    于是产生了两种思路解决该问题:
    1.做一个广播总控制器,控制广播数量
    2.每次注册前进行反注册

    做一个广播总监控器,控制广播数量,是希望在广播超过限额时将一些优先级低的反注册掉,
    这样考虑的原则是,即使放弃一些业务的稳定性,也好过让整个进程崩溃,但是,这就面临几个
    问题了,超过500个广播都一个个挂接到这个监控器上?怎么确定所有广播的优先级?而且我发现
    还忽略了一个很重要的问题,虽然是一个庞大的项目,但是怎么可能会有500个广播呢?

    目前来看,也许第二种思路会更简单和稳妥些。通过以前的埋点数据,发现确实可能是更深层的原因,
    已知有几个广播被重复注册上百次,而且这几个广播都在一个后台Service的onCreate里注册,onDestroy里反注册,而且onCreate也确实被调用过上百次,这时产生了一个猜想,是不是这个后台Service在不调用onDestroy的情况被干掉,再加载起来了,此时就跳过了这几个广播的反注册,而完成了重复注册的事件,为了验证这个猜想,在网上翻阅只知道有人有相同的困惑相同的猜想,然而都不得证实。

    翻阅google文档,关键信息摘录如下:

    A service can be both started and have connections bound to it. In such a case, 
    the system will keep the service running as long as either it is started or 
    there are one or more connections to it with the Context.BIND_AUTO_CREATE flag. 
    Once neither of these situations hold, the service's onDestroy() method is 
    called and the service is effectively terminated. All cleanup (stopping threads, 
    unregistering receivers) should be complete upon returning from onDestroy().
    

    Service的释放资源,反注册广播应该放到onDestroy,Service的生命周期结束也只有这么一个回调。

    When your activity receives a call to the onStop() method, it's no longer visible and 
    should release almost all resources that aren't needed while the user is not using it. 
    Once your activity is stopped, the system might destroy the instance if it needs to 
    recover system memory. In extreme cases, the system might simply kill your app process 
    without calling the activity's final onDestroy() callback, so it's important you use 
    onStop() to release resources that might leak memory.
    
    
    Although the onPause() method is called before onStop(), you should use onStop() to 
    perform larger, more CPU intensive shut-down operations, such as writing information to 
    a database.
    

    Activity的释放资源,反注册广播应该放到onPause,onStop而不能放到onDestroy因为可能被干掉时不被调用,不可靠。

    对比官方对Activity和Service的说法,Service的onDestroy应该是可靠的,Activity的onDestroy是不靠谱的,这么说也不应该出现Service的onCreate被调用多次而onDestroy不被调用的情况。

    因此决定,在Service的onCreate和onDestroy都加一个静态变量统计被调用次数,于此同时,将被大量重复注册的广播在注册前反注册,不过这里需要注意一个问题,如果直接在注册前进行反注册,并不能直接完成反注册,因为可能在当前Service里声明的成员变量,在Service被干掉时下一次调用时不是同一个引用,所以需要把这个广播改成静态的,这样就能确保广播独立在Service之外,每次注册和反注册进行判断时都是对应同一个广播。


    解决问题

    尝试性解决问题:在Service的onCreate和onDestroy加入静态变量统计注册数看是否两者调用次数相差很大,并将被大量重复注册的广播改成静态变量,在注册之前进行反注册操作。


    概括结论

    先尝试性解决,后面继续跟进这个问题的修复程度及验证结果,未完待续。

    展开全文
  • 先说下阻塞的原因:Channel的regist方法和Selector的select方法是需要获取相同的监视器。oracle文档关于Selector的select方法有这么一句话: This method performs a blockingselection operation. It return...

    自己遇到了,研究了一下网上的帖子和oracle的文档。了解清楚后,发现其实解决方法很简单。

    先说下阻塞的原因:Channel的regist方法和Selector的select方法是需要获取相同的监视器。oracle文档关于Selector的select方法有这么一句话:

    This method performs a blocking selection operation. It returns only after at least one channel is selected, this selector's wakeup method is invoked, or the current thread is interrupted, whichever comes first.

    意思是“该方法执行阻塞选择操作。 只有在选择了至少一个通道,调用此选择器的唤醒方法,或者当前线程被中断(以先到者为准)时,它才会返回。”。因此,当没有任何通道时,除非唤醒或者被中断,否则不会返回,即:不会释放选择器。因此Channel的regist方法就被阻塞住了。

    知道了原因,解决起来很简单,用以下3种之一:

    1、唤醒:调用Selector的wakeup方法

    2、中断:interrupt Selector所在线程

    3、在至少调用了一次Channel的regist之后,再调用Selector的select。当然很显然,如果已经注册了一个通道,就不需要再保证这个顺序了。

    展开全文
  • 运行UnicornViewer Regist Assistant 按任意键阅读软件声明及使用协议 运行UnicornViewersetup.exe 注:如果提示net error,请关闭UVRA和UV Setup后再次运行。 解压密码: ======== uv安装程序: ssreader.uv016....
  • 在添加了如下函数后,蓝灯闪一下就灭,并且串口打印system_partition_table_regist fail: void ICACHE_FLASH_ATTR user_pre_init(void) { if(!system_partition_table_regist(at_partition_table, sizeof(at_...

    在添加了如下函数后,蓝灯闪一下就灭,并且串口打印system_partition_table_regist fail

    void ICACHE_FLASH_ATTR user_pre_init(void)
    {
        if(!system_partition_table_regist(at_partition_table, sizeof(at_partition_table)/sizeof(at_partition_table[0]),SPI_FLASH_SIZE_MAP)) {
    		os_printf("system_partition_table_regist fail\r\n");
    		os_printf("SPI_FLASH_SIZE_MAP : %d \r\n",SPI_FLASH_SIZE_MAP);
    		while(1);
    	}
    }
    

    原因:SPI_FLASH_SIZE_MAP设置错误,地址未正确分配

    我的板子的解决方案:
    更改make规则为:make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=QIO SPI_SIZE_MAP=4

    使用QIO的方式烧写,SPI_SIZE_MAP修改为4

    对应的下载工具的配置
    在这里插入图片描述

    展开全文
  • django错误 -- TypeError at /regist/

    千次阅读 2014-02-13 11:37:43
    TypeError at /regist/ list indices must be integers, not str Request Method: POST Request URL: http://127.0.0.1:8000/regist/ Django Version: 1.6.1 Exception Type: TypeErro
  • Regist-validation.xml

    2010-08-26 18:34:52
    Regist-validation.xml *****************     &lt; ?xml version=" 1.0" encoding=" GBK" ?&gt; &lt; !DOCTYPE validators PUBLIC " -//OpenSymphony Group//...
  • regist-images-docker

    2017-09-13 22:34:41
    代码类资源请使用码云平台托管 代码类资源请使用码云平台托管 代码类资源请使用码云平台托管 代码类资源请使用码云平台托管
  • !regist" method="post">

    千次阅读 2017-01-15 21:36:09
    regist这样的写法很奇怪,翻看了一下代码发现了问题,在此记录一下: 这里的action="user!regist"其中user指定的访问名字为user的action,regist指定访问user这个action所对应的class里面的方法。 例如:我的jsp...
  • Login_regist_java.rar

    2020-07-08 10:44:55
    主要是注册和登录页面 后台采用javaEE 三层架构。数据库采用的是mysql,源码包含html页面、 以及Servlet程序。采用的是tomcat服务器
  • def regist(): f = open(r"G:\课件\day09 初始函数\code\day009 初始函数\account", mode="r", encoding="utf-8") # 注意mode="r"还是"r+",容易错!!!!!!! while 1: username = input("请输入用户名:") password = ...
  • 2017/03/15 16:37:39,083 DEBUG DispatcherServlet:823 - DispatcherServlet with name 'springDispatcherServlet' processing GET request for [/SSMproject/regist.do] 2017/03/15 16:37:39,085 DEBUG ...
  • 我定义的regist()函数只能运行到第八行,后面的运行不了,不知道怎么回事。我是小白,求大佬们救救我吧[face]emoji:065.png[/face]...
  • navigate 10.0.5 regist cn

    2019-10-01 03:07:11
    NAVB-KTJB-D23X-QJTD NAVI-UQW3-AYAB-ISJD 转载于:https://www.cnblogs.com/xianqingzh/archive/2012/04/07/2435907.html
  • 大家都知道,可以利用DMI(Dynamic Method Invocation,动态方法调用)进行一个Action对应多个...regist"的错误,check了好多遍,struts.xml及JSP文件都没有错,src也能编译通过,但是点击注册时却总是弹出上面的错误...
  • 我们来看看regist.js的代码: //该函数在html文档加载完成之后会调用 $(function() { /* * 变量所有的错误信息,调用一个方法来决定是否显示错误信息 * */ $(".errorClass").eac...
  • regist注册页面的代码

    2019-08-13 21:01:11
    网页代码大部分都再下面了 <script> $(function(){ $("#username").blur(function(){ var span=$("#span"); var username=$("#username").val(); $.get("refistServlet",{username=username},function...
  • 遇到首先不要着急,看错误提示,这里提示HTTP Status 404 - /shop/user_regist.action%20%7D其中%20其中HTTP Status 404 是系统找不到资源,后面的路径是根据每个人不同的项目所产生的路径,直接去项目里面找即可。%...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,028
精华内容 8,011
关键字:

regist