instance相关知识
-
报错介绍 No enclosing instance of type B is accessible.Java 报错 No enclosing instance of type B is accessible. Must qualify the allocation with an enclosin 前言 在写 Java 并发的 Demo ,写的时候发现了一个报错: Java 出现 No enclosing instance of type TestB is accessible. Must qualify the allocation with an enclosing instance of type TestB(e.g. x.new A() where is an instance of TestB) 主要是我基础不好,这里通过网上查询发现了问题所在,这里就记录一下,先看代码:
-
No enclosing instance of type SignOutDialog is accessible.最近在自定义dialog的时候,在编译写一个例子时。结果编译时出现:No enclosing instance of type SignOutDialog is accessible. Must qualify the allocation with an enclosing instance of type SignOutDialog (e.g. x.new A() where x is an instance of SignOutDialog).根据提示,没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例于是百度谷歌了一下相关资料。原来我写的内部类是动态的,也就是开头以public class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以在不做其他变动的情况下,最简单的解决办法是将public class改为public static cla
-
Instance Based LearningUdacityMachine LearningInstance Based LearningSupervised Learning给你一些数据集,用算法去训练函数,训练出来后,就可以投入新的数据进行预测。Instance Based Learning不包含训练函数这个过程,只需要把所有数据放在数据库里,投入新的数据时,只需要去数据库里查找,优点是:Remember:可信,不需要平滑什么的近似Fast:不需要 learningSimple:缺点是:Overfitting:太依赖已有数据了看起来只能返回已有数据,无法返回新数据应用举例:红色很贵,蓝色中等,绿色最便宜,要预测黑色点的颜色。方法就是看 Nearest Neighbor,如果只看一个neighbor,有些点比较容易看出来,有些点需要看很多 neighbor 才能看准,不能单纯只取一个最近的,所以是 K Nearest Neighbors。KNN可以分类,可以回归。可以用 vote 和 mean, 也可以用 Similarity 去算入 Weight。
-
if no direction is specified, key_or_list must be an instance of list使用pymongo对某一字段进行sort时,报错 TypeError: if no direction is specified, key_or_list must be an instance of list 问题代码:在mongo中执行没有问题count=db.three_province_poi_v9.find({ "sum_n.sum_4_x":{ $gt:0} } ).sort({"sum_n.sum_4_x":1}). count()更正后:在python中执行count=db_first.three_province_poi_v9.find({"sum_n.sum_4_x":{ "$gt":0} } ).sort([("sum_n.sum_4_x",1)]).count()附:相关代码from pymongo import MongoClientdef get_COUNT(): Client=MongoClient('192.168.1.XXX',27017)
instance相关课程
instance相关教程
- 3.2 消息发送 Handler @ChannelHandler.Sharablepublic class ClientMsgHandler extends SimpleChannelInboundHandler<MsgResBean> { //1.构造函数私有化,避免创建实体 private ClientMsgHandler(){} //2.定义一个静态全局变量 public static ClientMsgHandler instance=null; //3.获取实体方法 public static ClientMsgHandler getInstance(){ if(instance==null){ synchronized (ClientMsgHandler.class){ if(instance==null){ instance=new ClientMsgHandler(); } } } return instance; } protected void channelRead0( ChannelHandlerContext channelHandlerContext, MsgResBean msgResBean) throws Exception { //具体业务代码,参考之前 }}
- 3.1 登录 Handler @ChannelHandler.Sharablepublic class ClientLogin2Handler extends SimpleChannelInboundHandler<LoginResBean> { //1.构造函数私有化,避免创建实体 private ClientLogin2Handler(){} //2.定义一个静态全局变量 public static ClientLogin2Handler instance=null; //3.获取实体方法 public static ClientLogin2Handler getInstance(){ if(instance==null){ synchronized (ClientLogin2Handler.class){ if(instance==null){ instance=new ClientLogin2Handler(); } } } return instance; } protected void channelRead0( ChannelHandlerContext channelHandlerContext, LoginResBean loginResBean) throws Exception { //具体业务代码,参考之前 }}
- 2.4 UpdateModelMixin 更新视图扩展类,提供update(request, *args, **kwargs)方法,可以快速实现更新一个存在的数据对象。同时也提供partial_update(request, *args, **kwargs)方法,可以实现局部更新。成功返回200,序列化器校验数据失败时,返回400错误。源代码:class UpdateModelMixin(object): """ Update a model instance. """ def update(self, request, *args, **kwargs): partial = kwargs.pop('partial', False) instance = self.get_object() serializer = self.get_serializer(instance, data=request.data, partial=partial) serializer.is_valid(raise_exception=True) self.perform_update(serializer) if getattr(instance, '_prefetched_objects_cache', None): # 如果 'prefetch_related' 应用在一个数据集合,那么每次查询该集合, 都须使缓存数据强制失效,用新查询的数据代替 instance._prefetched_objects_cache = {} return Response(serializer.data) def perform_update(self, serializer): serializer.save() def partial_update(self, request, *args, **kwargs): kwargs['partial'] = True return self.update(request, *args, **kwargs)
- 2.3 RetrieveModelMixin 详情视图扩展类,提供retrieve(request, *args, **kwargs)方法,可以快速实现返回一个存在的数据对象。如果存在,返回200, 否则返回404。源代码:class RetrieveModelMixin(object): """ Retrieve a model instance. """ def retrieve(self, request, *args, **kwargs): # 获取对象,会检查对象的权限 instance = self.get_object() # 序列化 serializer = self.get_serializer(instance) return Response(serializer.data)举例:class StudentDetailView(RetrieveModelMixin, GenericAPIView): queryset = StudentsModel.objects.all() serializer_class = StudentsSerializer def get(self, request, pk): return self.retrieve(request)
- 2.5 DestroyModelMixin 删除视图扩展类,提供destroy(request, *args, **kwargs)方法,可以快速实现删除一个存在的数据对象。成功返回 204,不存在返回 404。源代码如下:class DestroyModelMixin(object): """ 删除数据 """ def destroy(self, request, *args, **kwargs): instance = self.get_object() self.perform_destroy(instance) return Response(status=status.HTTP_204_NO_CONTENT) def perform_destroy(self, instance): instance.delete()
- 8.2 Kotlin 中 DCL 实现 在 Kotlin 中有个天然特性可以支持线程安全 DCL 的单例,可以说也是非常非常简单,就仅仅 3 行代码左右,那就是 Companion Object + lazy 属性代理,一起来看下吧。class KLazilyDCLSingleton private constructor() : Serializable {//private constructor()构造器私有化 fun doSomething() { println("do some thing") } private fun readResolve(): Any {//防止单例对象在反序列化时重新生成对象 return instance } companion object { //通过@JvmStatic注解,使得在Java中调用instance直接是像调用静态函数一样, //类似KLazilyDCLSingleton.getInstance(),如果不加注解,在Java中必须这样调用: KLazilyDCLSingleton.Companion.getInstance(). @JvmStatic //使用lazy属性代理,并指定LazyThreadSafetyMode为SYNCHRONIZED模式保证线程安全 val instance: KLazilyDCLSingleton by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { KLazilyDCLSingleton() } }}//在Kotlin中调用,直接通过KLazilyDCLSingleton类名调用instancefun main(args: Array<String>) { KLazilyDCLSingleton.instance.doSomething()}//在Java中调用public class TestMain { public static void main(String[] args) { //加了@JvmStatic注解后,可以直接KLazilyDCLSingleton.getInstance(),不会打破Java中调用习惯,和Java调用方式一样。 KLazilyDCLSingleton.getInstance().doSomething(); //没有加@JvmStatic注解,只能这样通过Companion调用 KLazilyDCLSingleton.Companion.getInstance().doSomething(); }}注意:建议上面例子中添加 @JvmStatic 注解,Kotlin 这门语言可谓是操碎了心,做的很小心翼翼,为了不让 Java 开发者打破他们的调用习惯,让调用根本无法感知到是 Kotlin 编写,因为外部调用方式和 Java 方式一样。如果硬生生把 Companion 对象暴露给 Java 开发者他们可能会感到一脸懵逼。可能大家对 lazy 和 Companion Object 功能强大感到一脸懵,让我们一起瞅瞅反编译后的 Java 代码你就会恍然大悟了:public final class KLazilyDCLSingleton implements Serializable { @NotNull private static final Lazy instance$delegate; //Companion提供公有全局访问点,KLazilyDCLSingleton.Companion实际上一个饿汉式的单例模式 public static final KLazilyDCLSingleton.Companion Companion = new KLazilyDCLSingleton.Companion((DefaultConstructorMarker)null); public final void doSomething() { String var1 = "do some thing"; System.out.println(var1); } private final Object readResolve() { return Companion.getInstance(); } private KLazilyDCLSingleton() { } static {//注意: 可以看到静态代码块中并不是初始化KLazilyDCLSingleton的instance而是初始化它的Lazy代理对象,说明KLazilyDCLSingleton类被加载了, //但是KLazilyDCLSingleton的instance并没有被初始化,符合懒加载规则,那么什么时候初始化instance这就涉及到了属性代理知识了,下面会做详细分析 instance$delegate = LazyKt.lazy(LazyThreadSafetyMode.SYNCHRONIZED, (Function0)null.INSTANCE); } // $FF: synthetic method public KLazilyDCLSingleton(DefaultConstructorMarker $constructor_marker) { this(); } @NotNull public static final KLazilyDCLSingleton getInstance() { return Companion.getInstance();//这里可以看到加了@JvmStatic注解后,getInstance内部把我们省略Companion.getInstance()这一步,这样一来Java调用者就直接KLazilyDCLSingleton.getInstance()获取单例实例 } //Companion静态内部类实际上也是一个单例模式 public static final class Companion { // $FF: synthetic field static final KProperty[] ?delegatedProperties = new KProperty[]{(KProperty)Reflection.property1(new PropertyReference1Impl(Reflection.getOrCreateKotlinClass(KLazilyDCLSingleton.Companion.class), "instance", "getInstance()Lcom/mikyou/design_pattern/singleton/kts/KLazilyDCLSingleton;"))}; /** @deprecated */ // $FF: synthetic method @JvmStatic public static void instance$annotations() { } @NotNull //这个方法需要注意,最终instance初始化和获取将在这里进行 public final KLazilyDCLSingleton getInstance() { //拿到代理对象 Lazy var1 = KLazilyDCLSingleton.instance$delegate; KProperty var3 = ?delegatedProperties[0]; //代理对象的getValue方法就是初始化instance和获取instance的入口。内部会判断instance是否被初始化过没有就会返回新创建的对象, //初始化过直接返回上一次初始化的对象。所以只有真正调用getInstance方法需要这个实例的时候instance才会被初始化。 return (KLazilyDCLSingleton)var1.getValue(); } private Companion() {//Companion构造器私有化 } // $FF: synthetic method public Companion(DefaultConstructorMarker $constructor_marker) { this(); } }
instance相关搜索
-
inline
inner join
innerhtml
innerjoin
input
input readonly
input 属性
inputstream
inputtype
input属性
insert
insert into
insert into select
insertbefore
insertinto
insert语句
inspect
instance
instant
instr